VirtualHost 不允许两个域名

VirtualHost 不允许两个域名

这是我的 VirtualHost 文件

NameVirtualHost *:80
<VirtualHost *:80>

DocumentRoot /var/www/html/backendtwo/
ServerName www.designer-school.com

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName www.joshhornby.co.uk

</VirtualHost>

joshhornby.co.uk 是根目录,我之所以添加这个目录,是因为在为 designer-school.com 添加第一个 VirtualHost 后,joshhornby 上的任何 URL(例如 joshhornby.co.uk/typewriter)都会停止工作。我也无法访问我的博客文章,请亲自尝试一下 joshhornby.co.uk 是地址。博客地址的永久链接如下 http://joshhornby.co.uk/post/web-course

正如您所见,这将返回 404。

我的问题是如何在同一台服务器上提供两个网站,同时又不阻止一个网站正常运行。

答案1

尝试NameVirtualHost *代替*:80

您描述的行为的原因是请求 joshhornby.co.uk 打开第一个,这NameVirtualHost *:80将与第一个VirtualHost *:80定义匹配。

如果您只使用NameVirtualHost *,那么您就是在告诉 apache 搜索所有VirtualHost定义以找到最佳匹配,而不是第一个正面匹配。

答案2

您应该使用 NameVirtualHosts。

放一个

NameVirtualHost *:80

在您的vhost配置之前。

相关内容