htaccess重定向IP,查询字符串除外



我将一个IP重定向到我的域:

RewriteCond %{HTTP_HOST} ^100.100.100.100
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]

我想添加一个例外,这个查询字符串不重定向到域:

index . php ?选项= com_notify&任务= Send_Mail&散列= 4 dd2c2c208098797546c5bf0a858b185b564cf23

,其中哈希值总是在变化。通常,我会重定向具有RewriteCond的查询字符串,并与RewriteRule匹配。

RewriteCond %{QUERY_STRING}  ^option=com_notify&task=Send_Mail&hash=(.*)$ [NC]
RewriteRule ^index.php$ http://www.mysite.com/whatever? [R=301,NE,NC,L]

但我不确定如何将此添加为例外。总而言之,我希望IP地址100.100.100.100重定向到主站,除非你有100.100.100.100/index.php?option=com_notify&task=Send_Mail&hash=.*

就像这样在RewriteCond中使用否定:

RewriteCond %{HTTP_HOST} ^100.100.100.100$
RewriteCond %{QUERY_STRING} !^option=com_notify&task=Send_Mail&hash= [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]

最新更新