Apache 2.4:为其他虚拟主机的ServerNames加载第一个VirtualHostconfiguration

我有一个虚拟主机Apache 2.4的问题。

如果我导航到ty1.dev,我得到的网站af2.dev代替

如果这是Apache 2.2,所有我需要添加的是NameVirtualHost *:80但在2.4中被忽略。

error.log不会报告任何问题

我错过了什么?

 # httpd-vhosts.conf <VirtualHost *:80> ServerName af2.dev ServerAlias af2.dev ServerAdmin [email protected] DocumentRoot "c:/Users/Adam.Adam-PC/Sites/af2/web" <Directory c:/Users/Adam.Adam-PC/Sites/af2/web> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName ty1.dev ServerAlias ty1.dev ServerAdmin [email protected] DocumentRoot "c:/Users/Adam.Adam-PC/Sites/ty1" <Directory c:/Users/Adam.Adam-PC/Sites/ty1> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted </Directory> </VirtualHost> 

尝试在您的listen语句以及您的虚拟主机块中添加特定的IP和端口。 所以说:

 listen 127.0.0.1:80 

并在每个虚拟主机中:

 <virtualhost 127.0.0.1:80> 

0票反对

我从这里find答案: http : //alexking.org/blog/2007/11/01/apache-2-only-serves-first-virtual-host

把2个servername放在同一个VirtualHost标签中,如下所示:

 <VirtualHost *:80> ServerName beta-site-1.com DocumentRoot “/Library/WebServer/beta-site-1” ServerName beta-site-2.com DocumentRoot “/Library/WebServer/beta-site-2” </VirtualHost> 

我结束了第二个网站的问题,因为我有两个VirtualHost标签块。