我使用以下.htaccess代码使我的网址更清晰:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
它基本上检查请求的URL是指向文件还是目录,如果不是,则以特定方式对其进行格式化。
问题是我的生产服务器在检查请求的URL是否指向文件时似乎忽略了文件扩展名。例如,如果服务器根目录中存在具有该名称的文件,它会认为URL /contact
指向名为contact.jpg
的文件。
是什么原因导致Apache表现得如此,我该怎么做才能控制它 - 对文件扩展名做严格要求?
答案 0 :(得分:9)
我相信这是因为MultiViews选项。 在.htaccess
中尝试Options -MultiViews