Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> apache提示You dont have permission to access /test.php on this server解決

apache提示You dont have permission to access /test.php on this server解決

日期:2017/2/8 10:18:38      編輯:關於服務器

首先說下配置:

  系統配置:
操作系統: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”這行的代碼處,看看是不是哪裡被系統悄悄地修改了。

Copyright © Windows教程網 All Rights Reserved