我的根文件夹中有.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时,一切正常。
我的猜测是,网址重写与根文件夹中的文件名冲突,如果是,我该如何禁用文件名检查,或任何其他更好的规则
已更新:规则[仍然无效]
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]
由于
答案 0 :(得分:0)
您只需重写现有路径。使用以下.htaccess规则
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^project/([^/]*)$ /project.php?id=$1 [L]
RewriteRule ^([^/]*)$ /user.php?user=$1 [L]