Apache多域设置

时间:2012-06-21 18:44:39

标签: apache apache2 subdomain virtualhost virtual-hosts

我在设置基于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中的内容。

我做了许多显而易见的事情,例如: - 服务httpd重启 - 我改变了httpd.conf中两个条目的顺序,再一次,它只服务于列表中的第一个条目。 - 我使用Googled的一个支持文档说,确保在您的系统上有一个有效域的以下入口点。所以我输入了这个(但它没有改变任何东西): ServerName sub2.mydomain2.com:80

一定是傻事,但我无法理解!

2 个答案:

答案 0 :(得分:12)

好的,我明白了。这很傻。我只需要取消注释这一行,所以我实际上会使用所有虚拟主机:

NameVirtualHost *:80

答案 1 :(得分:5)

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

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