使用VirtualHosts覆盖redirect域

我有一台虚拟主机在CentOS 5上安装了Apache。

NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/html/default ServerName fail </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/website1.net ServerName website1.net ServerAlias *.website1.net </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/website2.com ServerName website2.com ServerAlias *.website2.com </VirtualHost> 

有人设置了CNAME到website2.com,有效地假装他运行该网站。

我能够redirect一些更多的Apacheconfiguration魔术。

 <VirtualHost *:80> ServerName evil.villain.com RedirectMatch permanent ^/?(.*) http://website2.com/$1 </VirtualHost> 

但是这种技术要求我指定我想要redirect的域。

有没有一种方法可以将所有 “恶意”CNAMEloggingredirect到我自己的域名?

Apache将为未知的ServerNames提供默认的虚拟主机。 坚持这个在你的虚拟主机configuration的顶部,用apachectl -Svalidation

 <VirtualHost _default _:*>
   RedirectMatch永久^ /?(。*)http://website2.com/$1
 </虚拟主机>

http://httpd.apache.org/docs/2.0/vhosts/examples.html#default