搞砸了一段时间后,我决定在这里问:
我有一个虚拟主机,想在这台服务器上使用 2 个域。我的 apache 配置文件如下所示:
NameVirtualHost *
<VirtualHost *>
ServerName www.domain1.de
DocumentRoot /var/www/folder1/
</VirtualHost>
<VirtualHost *>
ServerName www.domain2.de
DocumentRoot /var/www/folder2/
</VirtualHost>
在我的虚拟主机域的配置页面上,两个域都分配给了服务器 ip。
现在的问题是:
- www.domain1.de 作品
- domain1.de 工作
- www.domain2.de 作品
- domain2.de不起作用_
有没有人知道为什么第二个域只适用于添加的“www”?
domain1.de
有效,因为www.domain1.de
它是第一个VirtualHost
并且被用作默认值。您需要添加ServerAlias domain2.de
到www.domain2.de
以使较短的版本也能正常工作(您也应该添加)ServerAlias
。www.domain1.de
如果您不想
www.domain1.de
作为默认VirtualHost
服务,请在开始提供一些简单的 HTML 文件时添加另一个。如果您想规范您的域(例如将所有 domain.de 重定向到 www.domain.de),您可以使用 mod_rewrite 之类的东西:
三个 Rewrite 行基本上将:
如果您转到“domain.de”,它会看到它不是以“www”开头并重定向到“www.domain.de”。
如果您想将此应用于您托管的每个站点,您可以这样做:
然后,当有人尝试访问“domain1.de”时,它会点击第一个虚拟主机,该虚拟主机会自动将他们重定向到“www.[whatever domain they type in]”。
这样,如果您转到“domain1.de”,它会看到它不是以“www”开头并重定向到“www.domain1.de”。对于“domain2.de”,它将重定向到“www.domain2.de”。每次添加新站点时,您都会自动获得此功能,如果您要添加/维护大量网站,这将非常方便。
www.domain.com 和 domain.com 理论上可以是完全不同的网站。您必须同时指定两者。您可以在现有的 VirtualHost 块中使用 ServerAlias,或者,您可以这样做来为 SEO 执行 301 重定向。
使用 ServerAlias 将多个域关联到一个虚拟主机