.htaccess-Files的getHostByAddr?

时间:2012-12-10 15:38:34

标签: apache .htaccess redirect host

我遇到来自域.kimsufi.com.SteepHost.Net的服务器的垃圾邮件问题。我曾经使用以下htaccess命令阻止它们:

Deny from .SteepHost.Net
Deny from .kimsufi.com

我不想阻止请求,而是将它们重定向到静态页面(例如“access.html”说“请联系管理员,......”)对于IP地址,这可以使用以下命令:< / p>

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} ###.###.75.51
RewriteRule ^(.*)$ access.html

但是如何使用用户的主机而不是IP地址呢?我试过例如:

RewriteCond %{REMOTE_HOST} ^(.*)\.kimsufi\.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} ^(.*)\.SteepHost\.Net$ [NC]

但它没有用,......

2 个答案:

答案 0 :(得分:1)

尝试用%{REMOTE_HOST}替换%{REMOTE_ADDR}。但它意味着将HostnameLookups设置为On(或Double),这会降低您的网站速度。

答案 1 :(得分:1)

只需使用REMOTE_HOST而不是REMOTE_ADDR。

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} ^.+\.EvilDomain\.com$
RewriteRule ^(.*)$ access.html

请参阅:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html