2010-01-25 64 views
0

我有一個.htaccess文件與此:(我沒有寫它)重寫的.htaccess正則表達式的URL

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?bla=$1 [L,QSA] 

問題 URL http://localhost/index/test 的 「指標」 部分,似乎符合「的index.php 「這是在一個網絡目錄和重寫失敗。
問題:有什麼問題,我該如何解決?

+0

你是什麼意思「重寫失敗」?你匹配任何東西,並將其路由到index.php?bla =任何東西,所以你可能會對發生的事情感到困惑? print.r($ _ GET)在index.php中,看看是否設置了bla。 – Langdon

+0

當索引位於URL中時,我不希望「RewriteCond%{REQUEST_FILENAME}!-f」爲真,該文件不稱爲「index」,它被稱爲「index.php」。 –

回答

0

啓用選項MultiViews可能會導致此行爲。嘗試禁用它:

Options -MultiViews 
+0

非常好!謝謝! :) –

0

嘗試用:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 

RewriteRule ^(.*)$ index.php?bla=$1 [L,QSA] 
+0

使CSS文件未加載。但感謝您的答案。 –

+0

您需要排除文件和目錄。你的規則意味着它必須是一個文件或一個目錄。 – DrDol