VirtualHost忽略ServerName和ServerAlias

我试图redirect所有stream量从.se到.com,但由于某种原因,VirtualHost忽略了我定义的ServerName和ServerAlias。

<VirtualHost *:80> ServerName www.example.se ServerAlias example.se Redirect 301 / https://www.example.com/ </VirtualHost> 

在上面的例子中,即使tld不是.se,所有的stream量都会经过VirtualHostredirect

我错过了什么吗?

简短的回答:是的。

长答案:这听起来像这是你的第一个VirtualHost在configuration文件,这使得这个主要的虚拟主机。 这意味着您的其他虚拟主机不够具体,以匹配stream量,导致他们登陆这个虚拟主机。

请参阅以下页面: http : //httpd.apache.org/docs/2.2/vhosts/name-based.html

尤其是:

主人走开

如果要将虚拟主机添加到现有Web服务器,则还必须为现有主机创build一个块。 此虚拟主机中包含的ServerName和DocumentRoot应与全局ServerName和DocumentRoot相同。 首先在configuration文件中列出这个虚拟主机,以便它作为默认主机。