Apache配置虚拟主机三大问题--自己的相关坑

Apache配置虚拟主机三大问题

 

第一大问题:配置失败

主要是apache 2.4以后配置步骤不再像以前那样了,正确步骤如下:

第一步:httpd.conf中开启虚拟主机配置功能

 #Include conf/extra/httpd-vhosts.conf... 你可以去掉它前面的 # 

第二步:

#配置我们自己的虚拟主机

特别注意端口!!

    DocumentRoot "C:/Apache24/htdocs/example" //注意路径

    ServerName localhost

    DirectoryIndex index.php

  ErrorLog "logs/mytest.com-error_log"

 CustomLog "logs/mytest.com-access_log" common

 

    DocumentRoot "C:/Apache24/htdocs/example/hspzf/public"

    ServerName myzf.com

    DirectoryIndex index.php

   ErrorLog "logs/myzf.com-error_log"

   CustomLog "logs/myzf.com-access_log" common

 

特别注意:这个不应该再写了,不能抄袭别人的或者老版本的!

Options FollowSymlinks

AllowOverride None

Order allow,deny

Allow from all

第三步:在windows-system32-drivers-etc-host.conf 中添加路径

127.0.0.1  localhost

127.0.0.1  myzf.com

127.0.0.1  www.mytest.com

127.0.0.1  www.wechat.com

 

第二大问题:Apache配置虚拟主机后,不能访问localhost的问题,其他可以,唯独localhost.

可能是没有加localhsotl !!!

特别注意端口!!

    DocumentRoot "C:/Apache24/htdocs/example" //注意路径

    ServerName localhost

    DirectoryIndex index.php

  ErrorLog "logs/mytest.com-error_log"

 CustomLog "logs/mytest.com-access_log" common

 

 

第三大问题:仍然无法访问: 可能是端口问题了!!因为默认80端口,需要访问的时候更改端口8082之类的

例如:http://localhost:8082/hspzf/public/

例如:http://www.mytest.com:8082/

 

最后,一定要重启apache!!!,更改任何地方都要先重启一次再访问

 

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

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

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

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

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

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

# Virtual hostsInclude conf/extra/httpd-vhosts.conf

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

    DocumentRoot "D:/amp/www/wechat"

    ServerName www.wechat.com

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

127.0.0.1        www.wechat.com

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

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

 

解决过程:

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

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

    ServerName localhost

    DocumentRoot "D:/amp/www"

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

 

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

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

 

你可能感兴趣的:(后端学习)