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

今天想试用一下php7,可是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4php

php7和apache2.4安装整合之后,localhost能够正常访问,没问题。apache

而后我又配置了几个虚拟主机,这时候,虚拟主机能够正常访问,可是localhost就访问不了了。php7

 

其实之前这种问题我也经历过,好比我以前用的php5.4搭配Apache2.2,就能够虚拟主机和localhost均可以访问;spa

可是我以前怎么解决的我也不记得了,今天又折腾了很久,最后发现,其实就是注释掉一行代码的事情。3d

 

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

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

# 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文件,添加域名class

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均可以正常访问。

 

总结:今天在这里记录一下,本身犯过两次的错误,保证之后再也不犯了,

再就是遇到问题,不要慌,耐心查找,总能解决的。

相关文章
相关标签/搜索