我在.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
。我怎么能避免这种情况?
答案 0 :(得分:2)
只需禁用MultiViews
选项即可。
用这个替换你当前的代码
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]