我正在尝试重定向多个不同的IP地址,但匹配特定用户代理的IP地址除外。到目前为止,我已经能够成功实现1个IP范围,例如:
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{1,3}$
RewriteCond %{HTTP_USER_AGENT} !^useragent$
RewriteRule ^(.*)$ http://www.redirecthere.com/$1 [L]
因此,上面将IP 123.123.123.x重定向到URL - 除非该IP具有此useragent,在这种情况下不会发生重定向。
我实际上需要重定向其他几个IP范围以及这个。但是这样做会打破一切:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{1,3}$
RewriteCond %{REMOTE_ADDR} ^124\.124\.124\.[0-9]{1,3}$
RewriteCond %{HTTP_USER_AGENT} !^useragent$
RewriteRule ^(.*)$ http://www.redirecthere.com/$1 [L]
我做错了什么?我无法找到任何重复的问题。
答案 0 :(得分:1)
您只需添加[OR]
,因为正常测试为“AND”:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{1,3}$ [OR]
RewriteCond %{REMOTE_ADDR} ^125\.125\.125\.[0-9]{1,3}$ [OR]
#.....
RewriteCond %{REMOTE_ADDR} ^124\.124\.124\.[0-9]{1,3}$
RewriteCond %{HTTP_USER_AGENT} !^useragent$
RewriteRule ^(.*)$ http://www.redirecthere.com/$1 [L]