2011-04-17 112 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