Vhosts只在一种情况下工作,而不是其他

ping www.example.com和example.com显示我的IP地址是正确的

<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com example.com DocumentRoot /var/www/example.com/public SetEnv APPLICATION_ENV live </VirtualHost> 

访问www.example.com工作正常,但是当我访问example.com我看到它的默认工作消息(这是存放在/var/www/index.html)

ping www.example.com和example.com显示我的IP地址是正确的,还有什么其他的步骤可以找出问题的根源?

尝试分离你的ServerName的。

 <VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/public SetEnv APPLICATION_ENV live </VirtualHost> 

(虽然正如第一个评论所说,你不应该有一个example.com的serveralias,因为它是你的服务器名称)

还有其他的VHosts吗? 什么是httpd.conf中的默认服务器名称(如果是example.com,我认为会覆盖虚拟主机)