0

我正在使用 .htaccess 读取 URL

RewriteRule ^([A-Za-z0-9-\.]+)/?$ profile.php?profileId=$1 [NC,L]

此行中的正则表达式接受您所知道的所有字母数字字符,但我希望它拒绝特定的字符串 - “注册”

它接受:- example.com/434OR example.com/UserNameORexample.com/UserName432格式

所以它也接受example.com/register,但我希望它拒绝它。我希望这发生

example.com/register=>example.com/login.php?page=register

如果可以拒绝更多example.com/settings具有相似类型静态查询的字符串,请向我提出建议。

4

1 回答 1

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]

对于设置等其他内容,您可以像上面的寄存器一样进行显式重写。

于 2013-10-30T05:00:22.300 回答