使用 VirtualHosts 全面重定向域名

使用 VirtualHosts 全面重定向域名

我在 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>

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

我能够使用更多的 Apache 配置魔法来重定向它。

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

但是这种技术要求我指定要重定向的域。

有没有办法我可以重定向全部把我的域名添加到“邪恶”的CNAME记录中?

答案1

Apache 将为未知的服务器名称提供默认虚拟主机。将其放在虚拟主机配置的顶部,使用以下命令进行验证apachectl -S

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

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

相关内容