編碼的世界 / 優質文選 / 文明

解決php服務器(apache)下403 Forbidden錯誤的方法


2022年6月26日
-   

    在apache服務器中出現403 Forbidden錯誤時的解決方法。有需要的朋友,可以參考下。
    配置了下虛擬主機,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,問題解決。
總結: 在apache服務器中,遇到403禁止訪問時,重點關注下apache的httpd.conf配置文件中,是否有“Deny from all”這樣的代碼。 這個可能是修改了某些配置文件後,重啟apache,被自動更改的。
附,另外一個apache 403錯誤的例子。
apache 403錯誤,顯示信息如下: 您無權查看該網頁 您可能沒有權限用您提供的憑據查看此目錄或網頁 如果您確信能夠查看該目錄或網頁,請嘗試使用 192.168.1.5 主頁上所列的電子郵件地址或電話與網站聯系。 可以單擊搜索,尋找 Internet 上的信息。 HTTP 錯誤 403 - 禁止訪問  Internet Explorer 去掉顯示友好信息的鉤後顯示Forbidden   You don't have permission to access on this server. 檢查了一遍配置文件httpd.conf,找到這麼一段:  
代碼示例:
<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     deny from all
     Satisfy all
</Directory>
 
然後試著把deny from all中的deny改成了allow,保存後重起了apache,訪問測試網站完全正常了。 APACHE升級到2.2版本之後,提供和支持不少模塊的支持,性能和安全上也有不少改進。 以前配置好apache的httpd.conf之後,即可使用。 但現在必須額外對這個文件進行其他方面的配置,不然會出現 http 403權限問題錯誤。
解決方法。 以下為httpd.conf文件的其中一段原代碼。 把下面代碼紅色標志進行更改:  
代碼示例:
<Directory "E:/wamp/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* - "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # [url]http://httpd.apache.org/docs/2.2/mod/core.html#options[/url]
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .
htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride all
    #
    # Controls who can get stuff from this server.
    #
#   onlineoffline tag - don't remove
    Order Deny,Allow
    
Deny from all     Allow from 127.0.0.1
</Directory>
 
紅色部分更改為 Allow from all ,也就是所有訪問允許通過。

熱門文章