正确设置apache以处理多个域

时间:2013-10-10 11:13:00

标签: apache centos

你好,我有2个域名domain1.com,domain2.com 两者都在domain1.com下的同一台服务器上 我想设置VirtualHost来处理它们

像这样:

<VirtualHost domain1.com:80>
DocumentRoot /var/www/html
ServerName domain1.com
<Directory /var/www/html>
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  Options -Indexes
</Directory>
</VirtualHost>


<VirtualHost domain2.com:80>
DocumentRoot /var/www/domain2
ServerName domain2.com
<Directory /var/www/domain2>
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  Options -Indexes
</Directory>
</VirtualHost>.

但由于某种原因,服务器只将我发送给第一个

我也像这样尝试了

<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName domain1.com
<Directory /var/www/html>
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  Options -Indexes
</Directory>
</VirtualHost>


<VirtualHost *:80>
DocumentRoot /var/www/domain2
ServerName domain2.com
<Directory /var/www/domain2>
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  Options -Indexes
</Directory>
</VirtualHost>.

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为你错过了NameVirtualHost指令。

NameVirtualHost *:80

<VirtualHost *>
  DocumentRoot /var/www/html
  ServerName domain1.com
  <Directory /var/www/html>
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
    Options -Indexes
  </Directory>
</VirtualHost>


<VirtualHost *>
  DocumentRoot /var/www/domain2
  ServerName domain2.com
  <Directory /var/www/domain2>
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
    Options -Indexes
  </Directory>
</VirtualHost>

如果没有它,当使用基于名称的虚拟主机时,您的第一个VirtualHost将用于所有访问。