所以我刚刚实现了 AWS' CloudFront我需要将他们的 IP 范围排除在一些 htaccess 规则之外。以下是其范围的链接:https://forums.aws.amazon.com/ann.jspa?annID=910
这是我不希望他们使用的 htaccess 规则的示例:
# ROUTE CLOUDFRONT DOMAINS
rewritecond %{HTTP_HOST} ^www1.
rewriterule ^ http://www.domain.com%{REQUEST_URI} [L,R=301]
如何编写另一个 rewritecond [或多个]来忽略 204.246.160.0/19 范围?
最佳答案
您可以阻止(或允许)IP 地址范围,如下所示:
# block a range of IPs
RewriteCond %{REMOTE_ADDR} =204\.246\.160\.([0-9]|1[0-9])
RewriteRule ^ - [F,L]
特别是对于您现有的规则,您可以使用:
# if domain name has www1 at start
RewriteCond %{HTTP_HOST} ^www1\. [NC]
# but request not coming from 204.246.160.0/19 IP range
RewriteCond %{REMOTE_ADDR} !=204\.246\.160\.([0-9]|1[0-9])
# redirect to http://www.domain.com/uri
RewriteRule ^ http://www.domain.com%{REQUEST_URI} [L,R=301]
关于.htaccess - 如何编写 htaccess 重写规则来排除 IP 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9199511/