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。

我的问题是,如何在同一台服务器上为两个网站提供服务,而不会阻止一个网站正常工作。

尝试NameVirtualHost *而不是*:80

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

如果你只使用NameVirtualHost * ,那么你告诉apachesearch所有的VirtualHost定义来find最好的匹配,而不是第一个正匹配。

你应该使用NameVirtualHosts。

放一个

 NameVirtualHost *:80 

在您的虚拟主机configuration之前。