9

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

我按照 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 中的内容。

我做了很多显而易见的事情,例如: - service httpd restart - 我更改了我的 httpd.conf 中两个条目的顺序,并且再次,它只为列表中的第一个提供服务。- 我在 Google 上搜索过的一份支持文档说要确保在您的系统上具有以下指向有效域的入口点。所以我输入了这个(但它没有改变任何东西): ServerName sub2.mydomain2.com:80

这一定是愚蠢的,但我无法弄清楚!

4

2 回答 2

12

好的,我想通了。这很愚蠢。我只需要取消注释这一行,这样我就可以实际使用所有虚拟主机:

NameVirtualHost *:80
于 2012-06-21T19:10:03.723 回答
5

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

<VirtualHost *:80>
  ServerName site1.com
  DocumentRoot "/var/www/site1"
</VirtualHost>
<VirtualHost *:80>
  ServerName site2.com
  DocumentRoot "/var/www/site2"
</VirtualHost>
于 2012-06-21T18:48:25.043 回答