2011-04-17 131 views
3

我用下面的.htaccess的代碼,使我的網址清潔:阿帕奇忽略文件擴展名

RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L] 

它基本上是檢查所請求的URL指向一個文件或目錄,如果它不,它格式化它以特定的方式。

問題是,當我的生產服務器檢查請求的URL是否指向一個文件時,它似乎忽略了文件擴展名。例如,如果具有該名稱的文件存在於服務器的根目錄下,它將考慮指向名爲contact.jpg的文件的URL /contact

是什麼導致Apache的行爲如此,我該怎麼做才能控制它 - 嚴格限制文件擴展名?

回答

8

我相信這是因爲MultiViews選項。 嘗試Options -MultiViews在.htaccess中

+1

我也是這麼想的。它不能解決它。不過,我很欣賞這個答案。 – 2011-04-17 08:01:24

+0

謝謝!解決了我的問題,這讓我花了很多時間來爲Google尋找合適的東西。 – 2012-11-22 07:08:00