VirtualHost 忽略 ServerName 和 ServerAlias

VirtualHost 忽略 ServerName 和 ServerAlias

我正在尝试将所有流量从 .se 重定向到 .com,但由于某种原因,VirtualHost 忽略了我定义的 ServerName 和 ServerAlias。

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

在上面的例子中,即使顶级域名不是 .se,所有流量都将通过 VirtualHost 重定向

我是否遗漏了什么?

答案1

简短回答:是的。

详细回答:听起来这是配置文件中的第一个 VirtualHost,这使得它成为主虚拟主机。这意味着您的其他虚拟主机不够具体,无法匹配流量,导致它们转而进入这个虚拟主机。

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

尤其:

主要宿主消失

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

相关内容