我使用ReWrite Rules来控制对网站的访问,当使用ip地址时我的结构运行正常..但是有一个特定的提供商使用许多不同的ip范围,这些都反转到他们的同一个域&# 34; abc123.com",如何在我的重写中表达所有范围,例如:* .abc123.com?以下是我用于ip的内容:
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.012
RewriteRule ^ - [R=403,L]
并且我想做类似的事情:
RewriteCond %{REMOTE_ADDR} ^*.abc123.com
RewriteRule ^ - [R=403,L]
答案 0 :(得分:0)
如果您使用此指令在Apache / VirtualHost配置中启用了DNS查找:
HostnameLookups On
然后您可以将REMOTE_HOST
变量用作远程主机名:
RewriteCond %{REMOTE_HOST} \.abc123\.com$ [NC]
RewriteRule ^ - [F]
答案 1 :(得分:0)
我如何表达他们的所有范围,例如:* .abc123.com 重写?
您可以使用几种方法尝试这样做。这将使用引荐来源,如果它与您的主机不匹配,则它将拒绝访问。
RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
RewriteRule ^ - [F]
或者您可以使用远程主机。
RewriteCond %{REMOTE_HOST} \.abc123\.com$ [NC]
RewriteRule ^ - [F]