我有一个新的最小的Debian莱尼服务器,只有一个IP地址运行Apache。
我有两个域,site1.com和site2.com用于这篇文章的目的,指向这一个服务器。 www子域是主域的CNAME。 Ping所有四个条目(带和不带www子域的两个域)都指向正确的IP地址。
在服务器上,两个虚拟主机已经添加到/ etc / apache2 / sites-available /中,如下所示:
<VirtualHost *:80> ServerName www.site1.com ServerAlias site1.com DocumentRoot /var/www.site1.com <Directory /var/www.site1.com/> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/www.site1.com-error.log LogLevel warn CustomLog /var/log/apache2/www.site1.com-access.log combined </VirtualHost>
第二个只是上面的一个副本,但与site2引用。
启用了这两个虚拟主机后,重新启动了Apache,site1.com,site2.com和www.site2.com都指向了正确的站点。 但是,对于一些恼人的原因www.site1.com指向默认的网站(/ etc / apache2 /网站可用/默认)为不匹配的虚拟主机。
任何人都可以解释为什么这是发生? 我已经检查并重新检查了configuration,日志,目录,甚至在无数次的情况下重新构build了服务器,并且无法理解Apache在这个例子中的行为。
你的帮助表示赞赏。
我打算在虚拟主机的ServerName中input错误,否则,计算机的ServerName指向www.site1.com,并且覆盖虚拟主机的定义。
我知道这可能是一个迟到的反应..但也许你应该检查,如果你有NameVirtualHost指令设置..如果你有太多的虚拟主机设置,Apache将覆盖到最后一个名单..或给你一个错误,并没有启动所有的服务..