浅析Apache2.4.x与Apache2.2.x的不同点
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-04 13:49:33 浏览: 评论:0
以前一直在用Apache2.2,最近升级了apache版本,改用Apache2.4时感觉一些基本配置都是差不多,但是配置虚拟主机时发现有些不同,现在再对比一下整理出来.
一直以来我都是在htdocs目录下配置虚拟主机的,大体上使用的方法如下:
- <VirtualHost *:80>
- DocumentRoot "D:/www/Apache24/htdocs"
- ServerName localhost
- <Directory D:/www/Apache24/htdocs>
- DirectoryIndex index.html index.php
- Order Deny,Allow
- Allow from all
- </Directory>
但是最近我想在目录htdocs之外配置虚拟主机,还是按照上面的老套路来配置,结果出现的403错误:
<span style="font-size: 16px;"><strong>Forbidden</strong></span>
You don't have permission to access / on this server.
瞬间没了头绪,这是在Apache2.2所没有的出现过的情况啊,然后试着将虚拟主机的根目录改成htdocs目录之下,也就是:
DocumentRoot "D:/www/Apache24/htdocs/test"
发现网站又能正常运行了,反复试了多次都是同一的结果,然后我就想到底是哪个地方出现了问题,这个问题困扰了我几天,百度找了无数答案,大部分都是说目录的权限有错误,需要修改权限,或者是selinux设置的问题,可是我运行的环境是windows,所以这些情况也被排除在外;有些说是需要设置Allow from all,也没有效果.
通过查看错误日志,发现有那么一行:
AH01630: client denied by server configuration: D:/www/
但是我的Order指令设置都是正确的,这样我郁闷了一段时间,无意中发现了一篇文章描述Apache2.4与Apache2.2之间的一些指令的差异,刚好解决了我的问题,其中的一些指令已经无效,如:
- Order Deny,Allow
- Deny from all
- Allow from al
- //取而代之的是:
- Deny from all
- //变成
- Require all denied
- Allow from all
- //变成
- Require all granted
于是我将虚拟机配置为:
- <VirtualHost *:80>
- DocumentRoot "D:/www/phpfensi/api"
- ServerName www.phpfensi.com
- <Directory "D:/www/phpfensi/api">
- DirectoryIndex index.html index.php
- Require all granted
- </Directory>
- </VirtualHost>
发现还是提示403错误,只不过这次的错误日志的错误变成:
AH01276:Cannot serve directory D:/www/phpfensi/api/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive
这是因为里面的根目录里面没有index.html 或者 index.php,我们可以添加index.html文件或者将设置改成如下:
- <VirtualHost *:80>
- DocumentRoot "D:/www/phpfensi/api"
- ServerName www.phpfensi.com
- <Directory "D:/www/phpfensi/api">
- Options FollowSymLinks Indexes
- Require all granted
- </Directory>
- </VirtualHost>
大功告成了,不过我敢肯定Apache2.4与Apache2.2的区别不止于此,只是我还没有发现而已,期待进一步的发现.
Tags: Apache2 4 Apache2 2
相关文章
- ·系统找不到指定的文件 No installed service named "Apache2"(2013-11-23)
- ·IIS6 apache2整合tomcat5方法(2013-11-23)
- ·如何让apache支持.htaccess并设置404错误页(2013-11-22)
- ·如何定义404错误页面(2013-11-22)
- ·apache和.htaccess设置404错误页面方法(2013-11-24)
- ·解决Apache下403 Forbidden错误(2013-11-24)
- ·apache服务器404配置方法(2013-11-24)
- ·Apache网站显示403 Forbidden错误(2013-11-26)
- ·Apache的404自定义页面返回状态404(2013-11-27)
- ·Apache配置禁止访问目录403(2014-09-20)
- ·Apache 404自定义(2014-11-05)
- ·APMServ5.2.6 Apache启动失败,解决方法(2013-11-23)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)