【问题标题】:IP range in .htaccess file mod_rewrite.htaccess 文件 mod_rewrite 中的 IP 范围
【发布时间】:2018-06-15 09:46:01
【问题描述】:

我有这个,但它不工作:

RewriteEngine On
RewriteBase /igra/
RewriteCond %{HTTP_USER_AGENT} (safa|navigator) [NC]
RewriteCond %{REMOTE_ADDR} (78\.30\.128\.0/78\.30\.159\.255)
RewriteRule ^((?!templ/).*)$ templ/$1 [L,NC]

我相信下面的某个地方有问题 - 某个 IP 范围是它/IP 范围还是什么?0/78 部分

RewriteCond %{REMOTE_ADDR} (78\.30\.128\.0/78\.30\.159\.255)

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    您不能在mod_rewrite 中使用 IP 地址范围,但您可以使用正则表达式 OR(管道)使用多个 IP 起始块,如下所示:

    RewriteCond %{REMOTE_ADDR} ^78\.30\.(128|129)\.
    

    或者这个:

    RewriteCond %{REMOTE_ADDR} ^78\.30\.12[89]\.
    

    【讨论】:

      【解决方案2】:

      我认为不可能指定 IP 范围。

      但是,可以使用 CIDR 表示法模拟范围。 (请注意 / 实际上用在 CIDR 表示法中)。

      所以在你的情况下,因为它看起来像一个连续的 IP 块.. 尝试:

      RewriteCond %{REMOTE_ADDR} 78\.30\.128\.0/24
      

      【讨论】:

        猜你喜欢
        • 2016-06-09
        • 1970-01-01
        • 2011-06-29
        • 2016-02-24
        • 2021-03-17
        • 2015-11-23
        • 1970-01-01
        • 2015-04-21
        • 1970-01-01
        相关资源
        最近更新 更多