htaccess重写规则无法访问直接文件

时间:2014-08-19 14:30:01

标签: php .htaccess

我在.htaccess文件中有这个:

RewriteEngine on

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

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

这很好用。例如输入localhost/file时,它就像是localhost/index.php?route=file

一样

我的问题是,服务器设置为提供文件,而无需键入.php作为文件扩展名。因此,当我访问localhost/login时,而不是localhost/index.php?route=login,它直接为我提供文件login.php。我怎么能避免这种情况?

1 个答案:

答案 0 :(得分:2)

只需禁用MultiViews选项即可。

用这个替换你当前的代码

Options -MultiViews

RewriteEngine On
RewriteBase /

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