在Apache服务器2.2上运行两个虚拟主机。*总是转到第一个docroot以获取任何服务器名称

时间:2011-11-30 07:58:25

标签: java apache2 webserver

我的httpd.conf文件中有两个虚拟主机,其中包含单独的docroots,如下所示。

<VirtualHost *.80>
DocumentRoot E:\docroot1    
ServerName www.development1.local
</VirtualHost>

<VirtualHost *.80>
DocumentRoot E:\docroot2
ServerName www.development2.local   
</VirtualHost>

理想情况下,当我点击www.development1.local时,它应该显示E:\ docroot1内容,当我点击www.development2.local时,它应该显示E:\ docroot2内容。这两个URL都在我的主机文件中设置为127.0.0.1

我的问题是无论我输入www.development1.local或www.development2.local的网址,它总是会显示E:\ docroot1内容。如果我在httpd.conf文件中更改虚拟主机的顺序,则会显示E:\ docroot2内容。这意味着它总是进入第一个虚拟主机。

1 个答案:

答案 0 :(得分:1)

那是因为您的服务器名称是www.development2.local,这与development2.local不同。如果没有虚拟主机与URL 中的主机名完全匹配,则将使用第一个虚拟主机。添加

ServerAlias development2.local

如果您也想使用该名称。