【问题标题】:.htaccess redirect for multiple IP ranges.htaccess 重定向多个 IP 范围
【发布时间】:2015-01-28 14:28:43
【问题描述】:

我正在尝试重定向多个不同的 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 具有此用户代理,在这种情况下不会发生重定向。

我实际上需要重定向其他几个 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]

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

【问题讨论】:

    标签: .htaccess redirect ip ip-address


    【解决方案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]
    

    【讨论】:

      猜你喜欢
      • 2015-08-19
      • 2011-03-10
      • 2015-11-23
      • 1970-01-01
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 2013-08-24
      相关资源
      最近更新 更多