URL重写保留名称

时间:2016-03-11 12:45:53

标签: apache .htaccess mod-rewrite url-rewriting friendly-url

在我的.htaccess文件中,我有以下重写规则:

RewriteRule ^user/(.*) user.php?username=$1 [NC,L]

domain.com/user/anything并重写它以在我的应用程序中使用。

但是,我想将其重写为

domain.com/anything

唯一的问题是,保留的文件名在访问时不应该是用户名,例如indexdomain.com/index)。如果用户的名称为index

,该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以使用以下规则从规则中排除现有的目录和文件:

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

RewriteRule ^(.*) user.php?username=$1 [NC,L]

如果要从规则中排除特定的uris,可以使用以下代码:

RewriteCond %{REQUEST_URI} !^/user.php [NC]
RewriteRule ^((?!index|upload|foo|bar).+) user.php?username=$1 [NC,L]