2014-06-10 220 views
0
  1. 我有一個重寫規則來隱藏index.php,這是 工作正常。.htaccess重定向+重寫一條規則

    RewriteCond $1 !^(index\.php) 
    RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
    
  2. 我目前正在將一個特定的子域重定向到另一個域。

    RewriteCond %{HTTP_HOST} ^(www\.)?deutschland\.example\.com$ [NC] 
    RewriteRule^http://www.example.de%{REQUEST_URI} [NE,R=301,L] 
    

重定向工作正常,但現在我在URL過,這是在未來REQUEST_URI得到的index.php。

http://www.example.de/index.php/search/result 

那麼如何從這個重定向的URL中刪除'index.php'? 注意:只使用國家級的多個域名,它只有相同的php網站應用程序。

回答

1

(1)規則順序很重要。 (2)last標誌並不意味着最後;這意味着在這個週期中持續。 (從Apache 2.4結束標誌可以做到你最後一次的想法,請參閱我的Tips for debugging .htaccess rewrite rules瞭解更多關於此的討論)。所以在這種情況下,規則(1)再次觸發,然後mod_rewrite再次循環,這次規則(2)觸發了您發現的內容。

交換兩條規則,它將按預期工作。

+0

感謝您的詳細解釋,偉大的作品 – Girish