我正在尝试将所有流量从 .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 相同。在配置文件中首先列出此虚拟主机,以便它充当默认主机。