apache You don't have permission to access /test.php on this server解决方法

键字: Apache   403  Forbidden
系统配置:
操作系统:Red Hat Linux 6.2
Web服务器:Apache 3.1.1+jakarta-tomcat 3.1.1
数据库服务器:oracle 8i

Apache服务器是目前应用最多的web服务器,据统计在世界上的服务器中有超过一半采用Apache服务器.关于它的好处,您可以自己到http://www.apache.org/上去看。

今天我们的服务器出了一点儿问题:任何访问都会返回一个403的错误:

代码如下:

Forbidden

You don't have permission to access  on this server。

不对呀,原来还好好的,在排除了目录的权限等的问题外,我几乎翻遍了系统的所有文件,尤其是/etc/httpd/conf下的所有配置文件,因为我已经将access.conf,srm.conf文件加入到httpd.conf文件中,同时在httpd.conf文件的最后加上了一句:

Include /etc/httpd/conf/tomcat.conf,以便将tomcat和apache连接起来。

在经过了一番思考之后,我认为问题肯定出在httpd.conf文件中,于是就又重新检查httpd.conf文件,终于让我发现了其中有这样一段:

代码如下:

<Files ~>
AllowOverride AuthConfig FileInfo Indexs Limit Options
Order allow ,deny
Deny from all-----------------注意:就是这儿!!--->把这行去掉或注释掉就行!!!
</Files>

心头一阵狂喜,哈哈,想起赵本山说的一句话“小样儿,脱了马甲我也认得你”,于是改成:

Allow from all,重新启动服务器,咦,还是不行?头开始大了,心想:今儿个我是载这儿了。又翻了n多遍httpd.conf文件几乎都要背下来了还找不到问题。也怪,突然就想起来了,www.apache.org不是有个问题数据库吗,几乎所有的问题都可以在上面找到答案,于是进入http://bugs.apache.org/,查找关键字forbidden,果然就让我查到了,原来是我们一位同事想做一个虚拟主机,用了linux的配置工具linuxconf,这个工具因为版本的问题,会导致httpd.conf文件的修改,其实我只要将上面的那一段去掉就可以万事大吉了。

最终总结经验:遇到事情首先要想到到软件所在的网站上找答案,免得浪费时间。

写此文的目的:以我为反面教材,遇到问题不要自己总是认为自己可以解决,而不到专业网站上请教。很多的网站已经有了非常完善的faq,基本上可以满足大家平时的需求,比如pb的要多到www.sybase.com上走走,java到http://developer.java.sun.com上转转,vc到坏孩子家溜溜。其实一些高手不是他们有多聪明,而是他们懂得如何从有用的地方找到自己想要的东西。

我也象他那样找到了希望,也没管用。后来我乐了,但后来我又乐不起来了。那着在我这里不行啊?谁能帮我?我找!我找!不行就自救。

===================================================
===================================================
解决Apache下403 Forbidden错误

正 文:

今天在公司电脑上安装Apache,版本2.2.8,装完刚测试可以;配置了下php的php.in文件再次localhost打开发现错误:HTTP 错误 403 - 禁止访问,即403 Forbidden:You don't have permission to access / on this server.权限又不够了?

马上打开apache的配置文件httpd.conf,逐行检查。在大约快一半的地方有以下这段代码:

代码如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

发现了吧。由于配置了php后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决。

代码如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    allow from all
</Directory>

再次在浏览器里打开http://localhost,显示it works!

总结:如果你也发生了这样的403禁止访问,不妨注意下apache的httpd.conf配置文件里有“Deny from all”这行的代码处,看看是不是哪里被系统悄悄地修改了。

(0)

相关推荐

  • Apache中启用Server Status配置示例

    Apache的日志如果靠分析日志或者查看服务器进程来监视Apache运行状态的话,比较繁冗.不过在Apache 1.3.2及以后的版本中就自带一个查看Apache状态的功能模块server-status,这样查看apache的一些相应状态信息会很方便. 一.打开 Apache Server Status 如果你的Apache配置文件httpd.conf或者extra/httpd-info.conf中有LoadModule status_module modules/mod_status.so话,

  • Apache实现Web Server负载均衡详解(不考虑Session版)

    至少需三台服务器:服务器A:控制服务器服务器B和服务器C:实际执行服务器负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C修改服务器A上apache的http.conf文件: 首先,加载相应的代理模块,去掉以下模块前面的#号:LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modu

  • WampServer设置apache伪静态出现404 not found及You don't have permission to access / on this server解决方法分析 原创

    本文实例讲述了WampServer设置apache伪静态出现404 not found及You don't have permission to access / on this server解决方法.分享给大家供大家参考.具体如下: 出现404 not found 时: 确保LoadModule rewrite_module modules/mod_rewrite.so开启 然后 复制代码 代码如下: <Directory />     Options FollowSymLinks    

  • Win2003+apache+PHP+SqlServer2008 配置生产环境

    安装前的准备: 1.Apache2.2.2 2.PHP5.2.17 3.SqlServer2008 4.sqlncli.msi(SqlServer客户端,可以到微软官方网站去下载) 5.ntwdblib.dll (2000.80.194.0) 6.SQLSRV20.exe,即MicrosoftDriver 2.0 for PHP for SQL Server(sql server 2005 及2008使用SQLSRV20.exe, SQL Server 2010使用SQLSRV30.exe)(需

  • 详解CentOS7安装配置Apache HTTP Server

    RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-util httpd-tools mailcap # rpm -qi httpd Name : httpd Version : 2.4.6 Release : 18.el7.centos Architecture: x86_64 Install Date: Mon 11 Aug 2014 02:44:55 PMCST Group : System Environment/D

  • Ubuntu Server 10.04修改Apache的默认目录的方法

    在Ubuntu Server 10.04中默认由apt方式安装的Apache,指定网页主目录位于:/var/www.而我需要将其更改为: /home/www.因为我的系统/var所分到的空间太少,而我又有提供通过web方式提供网络存储的需要.比较糟糕的是:我的/etc /apache2/sites-enabled/000-default文件在修改后消失掉了.结果导致apache服务出现错误,网站不能运行了.在最后一部分我记录了如何解决这个问题. 一.查找Apache的配置文件 # cd /etc

  • WampServer下安装多个版本的PHP、mysql、apache图文教程

    今天,我在调试一套PHP程序的时候,该程序中使用的某些函数在低版本中无法使用,所以只能在搞个高版本的php. 作为Web开发人员,在机器上安装不同版本的php,apache和mysql有时是很有必要的. 以下是我成功配置后的截图 不同版本的PHP: 不同版本的Apache: 这里我以安装php5.3.10为例进行说明 操作方法: 托盘图标左击 -> PHP -> Version -> 选择Get more...->打开网页后,就能看到以下截图: 然后,点击PHP(红色框框部分) 我

  • Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess

    Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from all 全部改成 Allow from all 实现外网访问,现在是将 Require all denied 以及 Require local 都该为 Require all granted 就可以了. .htaccess 如果不起作用将 LoadModule rewrite_module modules/mod_rewrite.so 前面的注释(#)去掉就

  • Linux下Apache HTTP Server 2.4.26安装教程

    本文为大家分享了Apache HTTP Server 2.4.26的安装,供大家参考,具体内容如下 1.下载apr-1.5.2.tar.gz.apr-util-1.5.4.tar.gz.pcre-8.37.tar.gz.httpd-2.4.26.tar.gz 2.将apr-1.5.2.tar.gz.apr-util-1.5.4.tar.gz.pcre-8.37.tar.gz.httpd-2.4.26.tar.gz解压到/usr/local/目录下 tar -zxvf apr-1.5.2.tar.

  • apache You don't have permission to access /test.php on this server解决方法

    键字: Apache   403  Forbidden 系统配置: 操作系统:Red Hat Linux 6.2 Web服务器:Apache 3.1.1+jakarta-tomcat 3.1.1 数据库服务器:oracle 8i Apache服务器是目前应用最多的web服务器,据统计在世界上的服务器中有超过一半采用Apache服务器.关于它的好处,您可以自己到http://www.apache.org/上去看. 今天我们的服务器出了一点儿问题:任何访问都会返回一个403的错误: 复制代码 代码如

  • apache You don't have permission to access /test.php on this server解决方法

    键字: Apache   403  Forbidden 系统配置: 操作系统:Red Hat Linux 6.2 Web服务器:Apache 3.1.1+jakarta-tomcat 3.1.1 数据库服务器:oracle 8i Apache服务器是目前应用最多的web服务器,据统计在世界上的服务器中有超过一半采用Apache服务器.关于它的好处,您可以自己到http://www.apache.org/上去看. 今天我们的服务器出了一点儿问题:任何访问都会返回一个403的错误: 复制代码 代码如

  • WampServer设置apache伪静态出现404 not found及You don't have permission to access / on this server解决方法分析 原创

    本文实例讲述了WampServer设置apache伪静态出现404 not found及You don't have permission to access / on this server解决方法.分享给大家供大家参考.具体如下: 出现404 not found 时: 确保LoadModule rewrite_module modules/mod_rewrite.so开启 然后 复制代码 代码如下: <Directory />     Options FollowSymLinks    

  • ADODB连接access是出现 80004005 错误的解决方法

    问题的原因: 我的电脑的access是使用中文作为数据库的排序语言.客户的机器没有按转中文,所以adodb不能正常使用access数据库.有不可能要求客户在他所有的电脑里安装中文,所以只有在我这里解决. 解决方案: 1. 用access打开数据库: 2. 在菜单上选择Tools->Options: 3. 在Options里,选择General那个页面: 4. 在General那个页面里,有一个选项是New Database Sort Order把它的值设置为General,然后按确定. 5. 在

  • .NET中获取Access新增记录Id怪现象解决方法

    复制代码 代码如下: using System; using System.Data.OleDb; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine(GetUserId("dnawo")); Console.ReadKey(); } /// <summary> /// 获取用户Id /// </summary> /

  • You don’t have permission to access /index.php on.

    今天在测试 PHP集成环境 Apache服务器时,一切正常,在转换虚拟目录时,突然出现错误提示"You don't have permission to access /index.php on."无论如何都不能正常浏览,再切换回原目录时,显示正常,只要切换虚拟目录,问题依旧. 其实这里是由于 httpd-conf 里面的配置问题,打开httpd-conf:逐行检查.在大约快一半的地方有以下这段代码: 复制代码 代码如下: <Directory /> Options Fol

  • Apache启动错误Permission denied: httpd: could not open error log file解决方法

    一.系统环境 CentOS 6.3 X64 yum 安装的 apache 版本:httpd-2.2.15-30.el6.centos.x86_64 二.问题描述 新增加虚拟主机站点,启动不了,查看日志,显示: 复制代码 代码如下: 启动 httpd:(13)Permission denied: httpd: could not open error log file /home/wwwroot/jb51.net/logs/error_log. Unable to open logs [失败] 三

  • apache服务出现Forbidden 403问题的解决方法总结

    在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了,最后解决了,总结了一下.http 403错误是拒绝访问的意思,有很多原因的.还有,这些问题在win平台的Apache里一样会发生!我按照经验总结的主要有以下4种原因! 本人测试的环境 是:Scientific Linux 5.3(与RHEL和CentOS百分百兼容!),其它版本的Linux应该通用,没测试. 1. 访问的文档权限不够.要755以上权限.解决方法:用命令chmod 755 /var/ww

  • apache实现部署多个网站(一个ip部署多域名)的方法详解

    前言 在日常的网站发布中很多情况下都无法做到一个IP对应一个站点,在IP4的情况下IP的资源是相对有限的.然而作为最流行的Apache自然也考虑到这种情况,下面来一起看看详细的介绍吧. 配置方法 首先apache的版本是2.4.7,然后系统是Ubuntu 14.04.1 LTS.(因为好像配置文件和目录有差异) 首先进到apache2目录下, 我们要探讨的主要是sites-available和sites-enabled根据字面意思,前一个是网站可用的,后一个是网站可用的,然后我们还知道了,sit

随机推荐