.htaccess重定向多个IP范围

时间:2015-01-28 14:28:44

标签: .htaccess redirect ip ip-address

我正在尝试重定向多个不同的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]

我做错了什么?我无法找到任何重复的问题。

1 个答案:

答案 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]
相关问题