apache2.4配置虚拟目录

Posted seabiscuit0922

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache2.4配置虚拟目录相关的知识,希望对你有一定的参考价值。

刚开始学习,跟着韩顺平老师的视频课件学习ing~

这是自己在配置虚拟目录时遇到的问题以及解决办法,记录下来~

---------------------------分割线君-------------------------------

我的apache安装目录为E:\\apache\\Apache24

想要配置的目录为D:\\myblog 中的网页文件

  • step1 添加虚拟目录节点

找到E:\\apache\\Apache24\\conf 中的httpd.conf文件,增加下图红框中代码

  • step2 注释documentroot路径

  •  step3 测试(先重启apache)

http://localhost:8080/myblog 

按照韩老师的教程,理论上这样是可以成功的了。但是我测试时出错了,此时意识到可能是版本不同的问题,我的是2.4版,韩老师是2.2版~

接下来找错~

--------------------------------分割线君-----------------------------------------------------------------------------------------------------------

  • 此时重启apache出错,如下图

  • 检查错误原因,因为我只是修改了httpd.conf文件,所以一定是该文件问题,所以查找具体哪句代码问题。

方法:进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)\\bin>

输入 httpd.exe -w -n "Apache2.4" -k start

(引号中的Apache2.4修改为你的Apache服务名,我的是2.4.20版,服务名就是Apache2.4,可以到计算机服务里找,如下图)

提示288行有问题时(提示:Syntax error on line 288 of ...........Invalid command \'Order\'......),如下图

  • 为什么\'Order\' 有问题呢——版本问题

在Apache2.4版本中,提供了由mod_authz_host支持的新的访问控制配置语法。

而2.2版本中的Order、Allow等命令在新版本中也可以得到兼容,实现这个兼容功能的模块就是mod_access_compat。

所以Load这个模块后,apache2.4就能识别这些语句了。

此时apache重启成功,所以开心地去测试了,但是。。。

  • 从字面意思理解,这应该是访问权限问题,注释掉Require all denied,如下

重启apache,测试成功

以上是关于apache2.4配置虚拟目录的主要内容,如果未能解决你的问题,请参考以下文章

具有两个子目录的 apache2 虚拟主机配置

Apache2.4.11 虚拟主机配置不工作

apache2.4 虚拟主机配置

apache2.4.X虚拟主机配置

centos7下apache2.4.6虚拟主机配置

apache2.2 和 2.4 虚拟主机配置文件