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


keyword: Apache   403  Forbidden


系統配置:

操作系統:Red Hat Linux 6.2

Webserver:Apache 3.1.1+jakarta-tomcat 3.1.1

數據庫server:oracle 8i

    Apacheserver是目前應用最多的webserver,據統計在世界上的server中有超過一半采用Apacheserver.關於它的長處,您能夠自己到http://www.apache.org/上去看。

    今天我們的server出了一點兒問題:任何訪問都會返回一個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,重啟server,咦,還是不行?頭開始大了,心想:今兒個我是載這兒了。又翻了n多遍httpd.conf文件差點兒都要背下來了還找不到問題。也怪,突然就想起來了,www.apache.org不是有個問題數據庫嗎,差點兒全部的問題都能夠在上面找到答案,於是進入http://bugs.apache.org/,查找keywordforbidden,果然就讓我查到了,原來是我們一位同事想做一個虛擬主機,用了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”這行的代碼處,看看是不是哪里被系統悄悄地改動了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM