VirtualDocumentRoot指令显示不正确的根目录

时间:2012-01-04 22:24:40

标签: apache httpd.conf

我在两个域上设置虚拟主机。 各个子域都有自己的docroot。

<VirtualHost *:80>
        ServerName *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>

访问

应该显示

  • /无功/网络/域2 /网络/

但它寻找

  • /无功/网络/域1 /网络/

出了什么问题?

2 个答案:

答案 0 :(得分:1)

试试这个:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        DocumentRoot /var/www/domain1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        DocumentRoot /var/www/domain2/
</VirtualHost>

答案 1 :(得分:1)

我认为你需要udo提到的ServerAlias选项来防止一个VirtualHost捕获所有内容。试试这个:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>