apache配置虚拟主机,为什么总是第一个VirtualHost起效

Apache配置虚拟主机,为什么总是第一个VirtualHost起效?

httpd.conf加入以下设置后,
访问"www.abc.cn"、"www.abc.net"、"test.abc.cn"时,为什么都是第一个VirtualHost起效――即访问的都是“E:/website/www/abc1”,怎样解决啊!

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "E:/website/www/abc1"
ServerName www.abc.cn
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "E:/website/www/abc2"
ServerName www.abc.net
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "E:/website/www/abc3"
ServerName test.abc.cn
</VirtualHost>


1、确认一下你的对应的3个域名都是指向了这台服务器的IP
2、将 * 替换一下

<VirtualHost www.abc.cn:80>
DocumentRoot "E:/website/www/abc1"
ServerName www.abc.cn
</VirtualHost>

<VirtualHost www.abc.net:80>
DocumentRoot "E:/website/www/abc2"
ServerName www.abc.net
</VirtualHost>

<VirtualHost test.abc.cn:80>
DocumentRoot "E:/website/www/abc3"
ServerName test.abc.cn
</VirtualHost>


abc1下的内容移到站点根目录下
然后httpd.conf改成这样就好了:

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "E:/website/www"
ServerName www.abc.cn
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "E:/website/www/abc2"
ServerName www.abc.net
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "E:/website/www/abc3"
ServerName test.abc.cn
</VirtualHost>


你可能感兴趣的:(服务器,虚拟主机,website,apache配置虚拟主机)