win10 apache配置虚拟主机后localhost无法使用的解决方法

yipeiwu_com6年前PHP代码库

win10系统配置虚拟主机

1.用记事本或Sublime Text打开httpd.conf

ctrl + f 搜索httpd-vhosts.conf


#Include conf/extra/httpd-vhosts.conf
的#号去掉保存

2.打开extra/httpd-vhosts.conf

添加如下内容:

<VirtualHost *:80>
ServerAdmin webmaster@youremail.com
DocumentRoot "E:/your_web_root"
ServerName your.web.com
ErrorLog "logs/your_web_error.log"
CustomLog "logs/your_web_access.log" common
</VirtualHost>

3.本地测试的话,还需要在hosts文件中配置一个域名解析条目,在C:/windows/system32/drivers/etc/目录下找到hosts文件

4.完成以上步骤后,重启Apahce就可以了

重点来了

这时虚拟主机的域名www.web.com可以正常访问,但是localhost就不能访问了。报错如下:

解决:

在httpd.conf文件中有一行代码是需要注释掉的
ServerName localhost:80
ServerName这一行代码注释掉就可以了
也许你的httpd.conf文件中并不是localhost:80 这个值,可能是ServerName a.com:80 ; 都一样,直接注释掉就可以使用。
之后无论开启或者关闭虚拟主机,localhost都可以正常访问。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

php防注入及开发安全详细解析

1、PHP注入的基本原理程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据 库查询代码,...

Optimizer与Debugger兼容性问题的解决方法

ZendExtensionManager.dll——Zend扩展插件管理器 Zend扩展插件管理器最简安装教程: 1、安装Zend Optimizer 3.3.0a:https://ww...

PHP使用两个栈实现队列功能的方法

本文实例讲述了PHP使用两个栈实现队列功能的方法。分享给大家供大家参考,具体如下: 问题 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解决思路...

探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释

自 PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。 复制代码 代码如下:<?php$arr = array(...

php 删除目录下N分钟前创建的所有文件的实现代码

复制代码 代码如下:<?php//delfile("upload",10);function delfile($dir,$n) //删除当DIR路径下N分钟前创建的所有文件;{if...