反向查找中的htaccess ReWriteCond * .abc123.com格式

时间:2016-11-16 16:33:37

标签: .htaccess mod-rewrite

我使用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]

2 个答案:

答案 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]