我的默认虚拟主机加载mainsite.com
NameVirtualHost * <VirtualHost *> DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost>
另一个虚拟主机我添加,所以当我去myothersite.com它将加载
NameVirtualHost * <VirtualHost *> ServerName myothersite.com DocumentRoot /var/www/myothersite.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost>
我已经添加了一个logging到我的服务器IP为myothersite.com。
我重新启动Apache服务器,但myothersite.com将不会加载。 我找不到服务器。
当重新启动我得到[warn] NameVirtualHost *:0 has no VirtualHosts
下面的代码片段肯定可以工作:
NameVirtualHost * <VirtualHost *> DocumentRoot /var/www/ # ... </VirtualHost> <VirtualHost *> ServerName myothersite.com DocumentRoot /var/www/myothersite.com # ... </VirtualHost>
查看NameVirtualHost如何在多个<VirtualHost>指令可以引用时只发生一次。
如果你想更具体一些,你也可以使用NameVirtualHost *:80或NameVirtualHost <IP address>:80 。 有关详细信息,请阅读有关Apache httpd的基于名称的虚拟主机支持的文档。
由于您提到了“服务器未find”之类的错误消息,因此您的域名更有可能出现DNS问题。 再次检查域名是否在您的名称服务器中正确设置。
<VirtualHost *:80>
ServerName drongo.zarack.com
ServerAlias drongo.zarack.com
DocumentRoot /var/www/html
DirectoryIndex index.html index.php
</VirtualHost>
这是我的工作conf文件。
另外,请通过nslookup myothersite.com检查Alogging是否合法到您的DNS服务器,并确认您获得了您期望的值。
作为一个方面,我已经find了良好的驻地保留,我把虚拟名字的CNAME和实际的主机A放在一起。
请确保在NameVirtualHost和VirtualHost中都使用*:80:
NameVirtualHost *:80 <VirtualHost *:80> # ... </VirtualHost>