组态:
<VirtualHost sub.domain.com:80> NameVirtualHost sub.domain.com:80 ServerName sub.domain.com DocumentRoot /home/colleague/public_html/domain.com/ZendSkeletonApplication/public/ SetEnv APPLICATION_ENV "development" <Directory /home/colleague/public_html/domain.com/ZendSkeletonApplication/public > Options Indexes FollowSymLinks Includes ExecCGI DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost bugtrack.sub.domain.com:80> NameVirtualHost bugtrack.sub.domain.com:80 ServerName bugtrack.sub.domain.com DocumentRoot /home/colleague/public_html/bugtrack.sub.domain.com/ SetEnv APPLICATION_ENV "development" <Directory /home/colleague/public_html/bugtrack.sub.domain.com > Options Indexes FollowSymLinks Includes ExecCGI DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost domain2:80> NameVirtualHost domain2:80 ServerName domain2.com DocumentRoot /home/me/public_html SetEnv APPLICATION_ENV "development" <Directory /home/me/public_html > Options Indexes FollowSymLinks Includes ExecCGI DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
错误:
[Wed Jun 18 18:06:44 2014] [warn] NameVirtualHost bugtrack.sub.domain.com:80 has no VirtualHosts [Wed Jun 18 18:06:44 2014] [warn] NameVirtualHost domain2.com:80 has no VirtualHosts [Wed Jun 18 18:06:44 2014] [warn] NameVirtualHost *:80 has no VirtualHosts
如果我去domain2.com(虚拟域),我到达sub.domain.com。 我认为这是因为另外两个虚拟主机有问题。 臭虫的虚拟主机确实会加载Bug Genie,但是新添加的第二个域名与第三方寄存器不起作用,并导致第一个虚拟主机。 最后的错误得到了补充,当我取消注释在http conf中的行,因为我认为这将解决问题。
我怎样才能修复这个configuration,并使domain2转到我需要的文档根目录?
做你的虚拟主机定义
<VirtualHost *:80>
确保你也有一个NameVirtualHost * ,它不在你的VirtualHost上下文中。 NameVirtualHost只允许在服务器configuration上下文例如
NameVirtalHost * <VirtualHost *:80> ServerName sub.domain.com DocumentRoot /home/colleague/public_html/domain.com/ZendSkeletonApplication/public/ ... </VirtualHost>