我在两个域上设置虚拟主机。 各个子域都有自己的docroot。
<VirtualHost *:80>
ServerName *.domain1.com
VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
ServerName *.domain2.com
VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>
访问
应该显示
但它寻找
出了什么问题?
答案 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>