据了解,apacheparsingfoo.com即使命名虚拟主机只有beta.foo.com存在?

我唯一的虚拟主机是:

<VirtualHost *:80> DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> # etc... </VirtualHost> 

 <VirtualHost xx.xx.xx.xx:80> DocumentRoot /var/www/vhosts/beta.foo.com/htdocs ServerName beta.foo.com <Directory /var/www/vhosts/www.foo.com/htdocs/> Options All -MultiViews AllowOverride All Order allow,deny Allow from all </Directory> ErrorLog /var/www/vhosts/www.foo.com/logs/error.log LogLevel debug CustomLog /var/www/vhosts/www.foo.com/logs/access.log combined </VirtualHost> 

beta.foo.com是完全可达的,这是预期的行为。

但是,当我尝试获得www.foo.com ,它parsing为beta.foo.com而不是defaultconfiguration。

这是一个Apache规则?

有没有办法避免这种情况?

唯一的办法是用ServerName www.foo.com设置一个虚拟主机?

文档解释了如何select虚拟主机 。 基本上,您select了beta.foo.com主机,因为它具有特定的IP地址,而默认主机使用通配符。 请更改您的beta.foo.com块以使用通配符,或更改您的默认主机以使用特定的IP。