URL 重写保留名称
URL rewriting reserved names
在我的 .htaccess 文件中,我有以下重写规则:
RewriteRule ^user/(.*) user.php?username= [NC,L]
采用 domain.com/user/anything
并重写它以用于我的应用程序。
不过,我想改写成
domain.com/anything
。
唯一的问题是,有些保留文件名在访问时不应该是用户名,例如 index
(domain.com/index
)。如果用户的名字是 index
怎么办?
您可以使用以下规则从规则中排除现有的目录和文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) user.php?username= [NC,L]
如果您想从规则中排除特定的 uris,您可以改用以下内容:
RewriteCond %{REQUEST_URI} !^/user.php [NC]
RewriteRule ^((?!index|upload|foo|bar).+) user.php?username= [NC,L]
在我的 .htaccess 文件中,我有以下重写规则:
RewriteRule ^user/(.*) user.php?username= [NC,L]
采用 domain.com/user/anything
并重写它以用于我的应用程序。
不过,我想改写成
domain.com/anything
。
唯一的问题是,有些保留文件名在访问时不应该是用户名,例如 index
(domain.com/index
)。如果用户的名字是 index
怎么办?
您可以使用以下规则从规则中排除现有的目录和文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) user.php?username= [NC,L]
如果您想从规则中排除特定的 uris,您可以改用以下内容:
RewriteCond %{REQUEST_URI} !^/user.php [NC]
RewriteRule ^((?!index|upload|foo|bar).+) user.php?username= [NC,L]