Apache配置虚拟主机后,不能访问localhost的问题

先说配置虚拟主机的流程:

1.先打开httpd.conf文件,打开httpd-vhosts.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

2.然后打开httpd-vhosts.conf文件,配置一个虚拟主机

<VirtualHost *:80>
    DocumentRoot "D:/amp/www/wechat"
    ServerName www.wechat.com
</VirtualHost>

3.打开hosts文件,添加域名

127.0.0.1        www.wechat.com

4.重启Apache,这时虚拟主机的域名www.wechat.com可以正常访问,

但是我的localhost就不能访问了。报错如下:

 

解决过程:

我的思路是,添加一个名为localhost的虚拟主机不就可以了?

1.打开httpd-vhosts.conf文件,配置一个名为localhost的虚拟主机:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "D:/amp/www"
</VirtualHost>

2.打开hosts文件,添加域名

注意:这一步,做或者不做,都没有影响,亲测通过。

#127.0.0.1        localhost

3.重启Apache,期待的结果并没有出现,哎,都累得半死了,还是不能访问localhost,虽然其他虚拟域名都可以正常访问,

可是我就是想鱼和熊掌兼得,继续查找问题

 

问题解决:

最后我比对了我原来的配置代码,发现,在httpd.conf文件中有一行代码是需要注释掉的

#ServerName localhost:80

就是这一行代码,把我折腾的够呛,把 ServerName 这一行代码注释掉就可以了

也许你的httpd.conf文件中并不是localhost:80 这个值,可能是  ServerName  a.com:80 ; 都一样,直接注释掉

以后无论开启或者关闭虚拟主机,localhost都可以正常访问。