我的根文件夹中有以下 .htaccess 规则:-
RewriteEngine On
RewriteRule ^([^/]*)$ /user.php?user=$1 [L]
RewriteRule ^project/([^/]*)$ /project.php?id=$1 [L]
所以,这基本上可以 - > http://example.com/user.php?user=stackoverflow也可以从http://example.com/stackoverflow获得,但是当我浏览http://example.com/login .php或我的任何页面,它会给出内部服务器错误 500。
当我使用http://example.com/user/stackoverflow时,一切正常。
我的猜测是,URL 重写与根文件夹中的文件名冲突,如果是,我如何禁用文件名检查或任何其他更好的规则。
更新:规则[仍然不起作用]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^([^/]*)$ /user.php?user=$1 [L]
RewriteRule ^project/([^/]*)$ /project.php?id=$1 [L]
谢谢