2014-03-25 47 views
1

我試着去重定向任何頁面調用公共/ index.php的_url =來電重寫規則:找不到頁面時的名稱是「指數」

我有這樣的無功/網絡/的.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ public/ [L] 
    RewriteRule ^(.*)$ public/$1 [L] 
</IfModule> 

在/var/www/public/.htaccess:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L] 
</IfModule> 

當我進入到http://mywebsite.com/something/anotherthing工程確定,重定向到公共/ index.php的_url =東西/ anotherthing,但是,當我試圖用http://mywebsite.com/index/something節目嗎?不發現錯誤。

任何想法來解決這個問題?謝謝。

回答

1

的原因是因爲該檢查:

RewriteCond %{REQUEST_FILENAME} !-f 

考慮到「路徑信息」,這意味着:/index/something「存在」,從而傳遞-f檢查。

Additoinally,您需要關閉多視圖:

Options -Multiviews 
+0

你幫我解決這個問題,並解釋原因,謝謝兄弟。我可以在5分鐘內選擇你的答案。再次,謝謝。 –