apache2 子目錄forbidden問題

2022-03-23 20:51:59 字數 2272 閱讀 8324

安裝環境的時候是用apt-get的方式直接安裝的。配置檔案的位址是/etc/apache2/sites-enabled/000-default。

因而更改根目錄的目錄時候,便直接在裡修改了,就在根目錄www裡面建立了個資料夾first,在first裡面的index是可以訪問的,但是建立的image卻一直無法訪問。起初以為是apache2設定的問題,結果無論如何修改都沒用,最後,看了下資料夾許可權,發現others根本沒有訪問許可權,修改這個之後,網頁就能顯示了。

在我的配置中,因為剛上手所以都是預設的。

options indexes followsymlinks multiviews

allowoverride none

order allow,deny

allow from all

1.options選項用於定義目錄使用哪些特性,包括indexes、multiviews和execcgi等

indexes:允許目錄瀏覽。當客戶僅指定要訪問的目錄,但沒有指定要訪問目錄下的哪個檔案,而且目錄下不存在預設文件時,apache以超文字形式返回目錄中的檔案和子目錄列表(虛擬目錄不會出現在目錄列表中)。

multiviews:允許內容協商的多重檢視。multiviews其實是apache的乙個智慧型特性。當客戶訪問目錄中乙個不存在的物件時,如訪問「則apache會查詢這個目錄下所有a.*檔案。由於icons目錄下存在a.gif檔案,因此apache會將a.gif檔案返回給客戶,而不是返回出錯資訊

execcgi:允許在該目錄下執行cgi指令碼

followsymlinks:可以在該目錄中使用符號連線

includes:允許伺服器端包含功能

includesnoexec:允許伺服器端包含功能,但禁用執行cgi指令碼,讓主目錄允許目錄瀏覽

2.allowoverride none

allowoverride選項用於定義位於每個目錄下.htaccess(訪問控制)檔案中的指令型別。基於安全和效率的原因,雖然可以通過.htaccess來設定目錄的訪問許可權,但應盡可能地避免使用.htaccess檔案,所以一般將allowoverride設定為"none",即禁止使用.htaccess檔案,而將目錄許可權的設定放在主配置檔案httpd.conf的和語句之間

3.order allow, deny (控制來訪者的許可權)

order選項用於定義預設的訪問許可權與allow和deny語句的處理順序。allow和deny語句可以針對客戶機的網域名稱或ip位址進行設定,以決定哪些客戶機能夠訪問伺服器。order語句通常設定為以下兩種值之一。

allow, deny:預設禁止所有客戶機的訪問,且allow語句在deny語句之前被匹配。如果某條件既匹配deny語句又匹配allow語句,則deny語句會起作用(因為deny語句覆蓋了allow語句)。

deny, allow:預設允許所有客戶機的訪問,且deny語句在allow語句之前被匹配。如果某條件既匹配deny語句又匹配allow語句,則allow語句會起作用(因為allow語句覆蓋了deny語句)。

下面舉一些例子來說明order、allow和deny語句的使用方法。

【例1】允許所有客戶機的訪問。

order allow,deny

allow from all

【例2】除了來自hacker.com域和ip位址為192.168.16.111的客戶機外,允許所有客戶機的訪問。

order deny ,allow

deny from hacker.com

deny from 192.168.16.111

【例3】僅允許來自網路192.168.16.0/24客戶機的訪問。

order allow,deny

allow from 192.168.16.0/24

對比:order deny ,allow

allow from 192.168.16.0/24

這兩條語句是允許所有客戶機的訪問。

【例4】僅允許來自網路192.168.16.0/24客戶機的訪問,但ip位址為192.168.16.111的客戶機除外。

order allow,deny

allow from 192.168.16.0/24

deny from 192.168.16.111 對比: order deny ,allow

allow from 192.168.16.0/24

deny from 192.168.16.111

由於allow語句覆蓋了deny語句,因此這3條語句是允許所有客戶的訪問。

至於最後乙個。。。。看到的資料都木有說這個的。。。

解釋部分,找不到原創的位址了額。。。。

cmake入門2子目錄

目錄環境 背景方式一 源 方式二 庫 ubuntu18 cmake version 3.17.3 把工具類放到單獨的資料夾下,以便結構清晰。比如現在有乙個utils的資料夾,下面放自己編寫好的工具類。目錄結果如下 cmakelists.txt cmake minimum required versi...

python建立子目錄並在子目錄下建立檔案

import os 首先判斷當前工作目錄下是否存在目錄machine learning ifnot os.path.isdir machine learning 不存在的話就建立子目錄machine learning 因為父目錄存在,所有這裡用mkdir也可以 os.makedirs machine...

iview admin nginx 部署子目錄

1 修改專案下的 vue.config.js 部署環境改為子目錄的名稱 2 nginx配置 這裡使用alias 不能用root server 3 alias和root的區別 實際util.js 檔案是在dist js 目錄下,這樣會訪問不到資源 4 前後端分離,正式環境nginx配置 設定正式環境下...