gpt4 book ai didi

apache - 使用 RewriteCond 重定向 IP 范围

转载 作者:行者123 更新时间:2023-12-02 19:42:06 26 4
gpt4 key购买 nike

目前,我正在使用以下方式重定向除 IP 12.345.678.90 之外的所有用户:

RewriteEngine On
RewriteCond %{REQUEST_URI} !/maintenance$
RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90
RewriteRule $ /maintenance [R=302,L]

我将使用什么语法来允许范围?在我的允许列表中,我有:

Allow from 123.45.678.90/28

如果我将 REMOTE_HOST 行更新为:

RewriteCond %{REMOTE_HOST} !^12\.345\.678\.90/28

最佳答案

如果您使用的是 Apache HTTPD 2.4 或更高版本,则可以使用 expressions将 REMOTE_ADDR 与 CIDR 掩码进行匹配。

简短的形式如下所示:

RewriteCond expr "-R '192.168.1.0/24'"

以下较长的形式也可用,但文档表明它的效率较低:

RewriteCond expr "%{REMOTE_ADDR} -ipmatch '192.168.1.0/24'"

这使得您的示例的完整解决方案如下所示:

RewriteEngine On
RewriteCond %{REQUEST_URI} !/maintenance$
RewriteCond expr "! -R '12.345.678.90/28'"
RewriteRule $ /maintenance [R=302,L]

关于apache - 使用 RewriteCond 重定向 IP 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com