.htaccess url-rewrite与根文件夹中的文件名冲突

时间:2013-06-30 02:18:17

标签: .htaccess

我的根文件夹中有.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]

由于

1 个答案:

答案 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]