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.jpg
和hello.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
指令之間並不會合併。但是如果我們在可選配置項前加上了符號"+"或"-",那麼表示該可選項將會被合併。所有前面加有"+"號的可選項將強制覆蓋當前的可選項設定,而所有前面有"-"號的可選項將強制從當前可選項設定中去除。你可以參考下面的例子:
<
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...