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


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

    php7和apache2.4安装整合以后,localhost可以正常访问,没问题。

    然后我又配置了几个虚拟主机,这时候,虚拟主机可以正常访问,但是localhost就访问不了了。

    其实以前这种问题我也经历过,比如我之前用的php5.4搭配Apache2.2,就可以虚拟主机和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都可以正常访问。

    总结:今天在这里记录一下,自己犯过两次的错误,保证以后不再犯了,

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

  • 相关阅读:
    PHP实现微信小程序人脸识别刷脸登录功能
    thinkphp3.2.3中设置路由,优化url
    ThinkPHP URL 路由简介
    在 Linux 下搭建 Git 服务器
    图解 Android 广播机制 狼人:
    手机系统竞争背后的利益竞逐 狼人:
    你必须知道的Windows Phone 7开发 狼人:
    展望Android之前世今生 狼人:
    在美做开发多年,写给国内iPhone开发新手 狼人:
    NDK入门项目实战 狼人:
  • 原文地址:https://www.cnblogs.com/superfat/p/5228347.html
Copyright © 2020-2023  润新知