Apache多域设置

问题描述:

我设置了一个基于Linux的Apache 2.2服务器,我有一个非常简单的问题。我想在同一台服务器上设置两个完全不同的域。 但它只提供第一个标签的内容!我搜索了*并在Apache.org上阅读了一些项目,但没有成功。Apache多域设置

我按照Apache.org的指示,把这两部分放在我的http.conf文件的底部。

<VirtualHost *:80> 
    DocumentRoot /var/www/mydomain1 
    ServerName sub1.mydomain1.com 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot /var/www/mydomain2 
    ServerName sub2.mydomain2.com 
</VirtualHost> 

现在,当我使用浏览器去:http://sub1.mydomain1.com它表现良好。但是,如果我转到http://sub2.mydomain2.com,我仍然只能获取位于/ var/www/webfiles/mydomain1中的内容。

我做了很多的明显的事情,如: - 服务的httpd重新启动 - 我改变了两个项目的顺序在我的httpd.conf并再次,它只会在列表中的第一个。 - 我使用Google搜索的一个支持文档说要确保您的系统上有一个有效的域的入口点。所以我进入了这个(但它没有改变任何东西): ServerName sub2.mydomain2.com:80

它一定是愚蠢的东西,但我不明白!

好的,我想通了。这非常愚蠢。我只需要去掉这一行,所以我将实际使用的所有虚拟主机:

NameVirtualHost *:80 
+4

那条线在哪里? – sajjadG

您需要在两个独立的虚拟主机中设置这两个域。通常,当我这样做时,我喜欢拆分一个包含虚拟主机文件的包含目录,每个文件包含一个虚拟主机。

<VirtualHost *:80> 
    ServerName site1.com 
    DocumentRoot "/var/www/site1" 
</VirtualHost> 
<VirtualHost *:80> 
    ServerName site2.com 
    DocumentRoot "/var/www/site2" 
</VirtualHost> 
+0

hsanders - 是的,这正是我所做的。你不会在我的问题中看到它,因为我是个白痴,并没有很好地对问题的代码段进行格式化。我正在尝试修复它。 – Thread7

+0

从原文很难说清楚。你有没有可能在其中一个虚拟主机指令之外有一个默认的DocumentRoot? – hsanders

+0

嗯。我的httpd.conf中有这行,但该目录不是当前内容的来源。 ---- DocumentRoot“/ var/www/html” – Thread7