如何防止访问者通过IP访问我的网站? 例如,我的网站使用IP 1.2.3.4,当他们直接访问http://1.2.3.4时 ,我想将它们redirect到www.mywebsite.com或者向他们显示错误消息。
我使用的是Apache 2.2。 谢谢!
LazyOne指出,你可以用mod_rewrite来完成这个工作(把你的IP重写到你的域名 – 这里有很多关于编写重写规则的问题)。
我真的没有看到这样做的价值:每个人都通过IP地址访问您的网站(在DNS查找将您的名字变成IP之后),所以唯一真正的区别就是Host:标题中显示的内容,当浏览器遵循redirect的时候,会多吃一些HTTP请求,这会让事情变得更慢一些。
如果由于某种原因您需要Host: header中的特定值,虽然重写规则解决scheme将适用于您。
除了阅读这里: http : //httpd.apache.org/docs/2.0/mod/mod_access.html
你总是可以通过tcpwrappers /etc/hosts.deny或者iptables来删除:P