Apache Options指令詳解

2021-08-20 05:51:40 字數 3154 閱讀 6873

options指令是apache配置檔案中乙個比較常見也比較重要的指令,options指令可以在apache伺服器核心配置(server config)、虛擬主機配置(virtual host)、特定目錄配置(directory)以及.htaccess檔案中使用。options指令的主要作用是控制特定目錄將啟用哪些伺服器特性。

options指令常見的配置示例**如下:

/>

#指定根目錄"/"啟用indexes、followsymlinks兩種特性。

options indexes followsymlinks

allowoverride all

order allow,deny

allow from all

options指令的完整語法為:options [+|-]option [[+|-]option] ...。簡而言之,options指令後可以附加指定多種伺服器特性,特性選項之間以空格分隔。下面我們來看看options指令後可以附加的特性選項的具體作用及含義(apache配置中的內容均不區分大小寫):

all

表示除multiviews之外的所有特性。這也是options指令的

預設設定。

none

表示不啟用任何的伺服器特性。

followsymlinks

伺服器允許在此目錄中使用符號連線。如果該配置選項位於配置段中,將會被忽略。

indexes

如果輸入的**對應伺服器上的乙個檔案目錄,而此目錄中又沒有directoryindex指令(例如:directoryindex index.html index.php),那麼伺服器會返回由mod_autoindex模組生成的乙個格式化後的目錄列表,並列出該目錄下的所有檔案(如下圖)。

multiviews

允許使用mod_negotiation模組提供內容協商的"多重檢視"。簡而言之,如果客戶端請求的路徑可能對應多種型別的檔案,那麼伺服器將根據客戶端請求的具體情況自動選擇乙個最匹配客戶端要求的檔案。例如,在伺服器站點的file資料夾下中存在名為hello.jpghello.html的兩個檔案,此時使用者輸入http://localhost/file/hello,如果在file資料夾下並沒有hello子目錄,那麼伺服器將會嘗試在file資料夾下查詢形如hello.*的檔案,然後根據使用者請求的具體情況返回最匹配要求的hello.jpg或者hello.html

symlinksifownermatch

伺服器僅在符號連線與目標檔案或目錄的所有者具有相同的使用者id時才使用它。簡而言之,只有當符號連線和符號連線指向的目標檔案或目錄的所有者是同一使用者時,才會使用符號連線。如果該配置選項位於配置段中,將會被忽略。

execcgi

允許使用mod_cgi模組執行cgi指令碼。

includes

允許使用mod_include模組提供的伺服器端包含功能。

includesnoexec

允許伺服器端包含,但禁用"#exec cmd"和"#exec cgi"。但仍可以從scriptalias目錄使用"#include virtual"虛擬cgi指令碼。

此外,比較細心的讀者應該注意到,options指令語法允許在配置選項前加上符號"+"或者"-",那麼這到底是什麼意思呢。

實際上,apache允許在乙個目錄配置中設定多個options指令。不過,一般來說,如果乙個目錄被多次設定了options,則指定特性數量最多的乙個options指令會被完全接受(其它的被忽略),而各個options指令之間並不會合併。但是如果我們在可選配置項前加上了符號"+"或"-",那麼表示該可選項將會被合併。所有前面加有"+"號的可選項將強制覆蓋當前的可選項設定,而所有前面有"-"號的可選項將強制從當前可選項設定中去除。你可以參考下面的例子:

#示例1

<

directory

/web

/file

>

options

indexes

followsymlinks

<

/directory>

web/

file

/image

>

options

includes

<

/directory>

#目錄/

web/

file

/image

只會被設定

includes

特性

#示例2

<

directory

/web

/file

>

options

indexes

followsymlinks

<

/directory>

web/

file

/image

>

options

+includes

-indexes

<

/directory>

#目錄/

web/

file

/image

將會被設定

includes

、followsymlinks

兩種特性

備註1:混合使用前面帶"+"/"-"和前面不帶"+"/"-"的同一可選項,可能會導致出現意料之外的結果。

備註2:使用-includesnoexec-includes時,不論前面如何設定,都會完全禁用伺服器端包含。

Apache Options指令詳解

options指令是apache配置檔案中乙個比較常見也比較重要的指令,options指令可以在apache伺服器核心配置 server config 虛擬主機配置 virtual host 特定目錄配置 directory 以及.htaccess檔案中使用。options指令的主要作用是控制特定目...

Apache Options指令詳解

options指令是apache配置檔案中乙個比較常見也比較重要的指令,options指令可以在apache伺服器核心配置 server config 虛擬主機配置 virtual host 特定目錄配置 directory 以及.htaccess檔案中使用。options指令的主要作用是控制特定目...

arm指令 ldr指令

ldr指令ldr作為指令 偽指令在arm彙編中。ldr指令格式 ldr 目的暫存器,儲存器位址 ldr r0,r1 將儲存器位址為r1的字資料讀入暫存器r0。ldr r0,r1,r2 將儲存器位址為r1 r2的字資料讀入暫存器r0。ldr r0,r1,8 將儲存器位址為r1 8的字資料讀入暫存器r0...