【发布时间】:2016-03-24 11:33:31
【问题描述】:
我想强制所有与我配置的虚拟主机不匹配的所有服务器请求重定向到我公司的主页?
目前我的主 DocumentRoot 设置为我的主站点目录,因此非虚拟主机请求 do serve 主页内容;但是,域名不会改变。我该如何强制?
此外,默认情况下,我的主 ServerName 已被注释掉。建议设置这个吗?如果是这样,为什么?
【问题讨论】:
我想强制所有与我配置的虚拟主机不匹配的所有服务器请求重定向到我公司的主页?
目前我的主 DocumentRoot 设置为我的主站点目录,因此非虚拟主机请求 do serve 主页内容;但是,域名不会改变。我该如何强制?
此外,默认情况下,我的主 ServerName 已被注释掉。建议设置这个吗?如果是这样,为什么?
【问题讨论】:
如果没有 ServerName 匹配,在 apache 配置中找到的第一个虚拟主机将是默认主机。因此,首先添加一个默认主机以重定向到您的公司主页:
<VirtualHost *:80>
ServerName myserver
Redirect 301 / https://www.example.com/
</VirtualHost>
如果您有多个 IP 地址和不同的侦听器x.x.x.x:80,那么它可能会有点复杂,因为 apache 实际上会根据侦听器和服务器名的组合来寻找匹配项。不过不难解决。
如果主服务器名被注释掉,那么 apache 将在启动时尝试解决这个问题。使用 VirtualHost 指令和每个虚拟主机本地的 ServerName 时,这通常不是问题。
【讨论】: