我正在使用.htaccess来阅读网址
RewriteRule ^([A-Za-z0-9-\.]+)/?$ profile.php?profileId=$1 [NC,L]
此行中的常规表达接受所有字母数字字符,但我希望它拒绝特定字符串 - “注册”
它接受: -
example.com/434
或example.com/UserName
或example.com/UserName432
格式
因此它也接受example.com/register
,但我希望它拒绝它。我希望这种情况发生
example.com/register
=> example.com/login.php?page=register
如果可以拒绝更多字符串example.com/settings
以及更多具有类似静态查询类型的字符串,请向我建议。
答案 0 :(得分:1)
如果您希望它排除register
,只需添加一个条件:
RewriteCond %{REQUEST_URI} !^/register
RewriteRule ^([A-Za-z0-9-\.]+)/?$ profile.php?profileId=$1 [NC,L]
或者在其之前添加您的其他规则:
RewriteRule ^register/?$ login.php?page=register [L]
RewriteRule ^([A-Za-z0-9-\.]+)/?$ profile.php?profileId=$1 [NC,L]
对于像设置这样的其他内容,你可以像上面的寄存器那样进行显式重写。