- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
前言:Options指令是Apache配置文件中一個比較常見也比較重要的指令,Options指令可以在Apache服務器核心配置(server config)、虛擬主機配置(virtual host)、特定目錄配置(directory)以及.htaccess文件中使用。Options指令的主要作用?控制特定目錄將啟用哪些服務器特性。
Options指令常見的配置示例代碼如下:
<Directory "/home/www">
#指定根目錄/home/www啟用Indexes、FollowSymLinks兩種特性
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
Options服務器特性
Options指令的完整語法為:Options [+|-]option [[+|-]option];簡而言之,Options指令后可以附加指定多種服務器特性,特性選項之間以空格分隔。下面我們來看看Options指令后可以附加的特性選項的具體作用及含義(Apache配置中的內容均不區分大小寫):
1、All
表示除MultiViews之外的所有特性(這也是Options指令的默認設置)
表示不啟用任何的服務器特性
3、FollowSymLinks
服務器允許在此目錄中使用符號連接(如果該配置選項位于配置段中,將會被忽略),意思是:允許網站目錄里的鏈接文件鏈接到首頁目錄以外的文件。舉例來說,如果你把首頁目錄設置為/var/www/html,那么你的網頁程序最多只能訪問到/var/www/html目錄,上層目錄是不可見的。但是可以通過鏈接把文件鏈接到/var/www/html目錄以外的文件以訪問該文件,如果FollowSymLinks被設置的話。
如果輸入的網址對應服務器上的一個文件目錄,而此目錄中又沒有DirectoryIndex指令(例:DirectoryIndex index.html index.PHP),那么服務器會返回由mod_autoindex模塊生成的一個格式化后的目錄列表,并列出該目錄下的所有文件(如下圖)
允許使用mod_negotiation模塊提供內容協商的”多重視圖”。簡而言之,如果客戶端請求的路徑可能對應多種類型的文件,那么服務器將根據客戶端請求的具體情況自動選擇一個最匹配客戶端要求的文件。例如,在服務器站點的file文件夾下中在名為hello.jpg和hello.html的兩個文件,此時用戶輸入Http://localhost/file/hello,如果在file文件夾下并沒有hello子目錄,那么服務器將會嘗試在file文件夾下查找形如hello.*的文件,然后根據用戶請求的具體情況返回最匹配要求的hello.jpg或者hello.html
5、SymLinksIfOwnerMatch
服務器僅在符號連接與目標文件或目錄的所有者具有相同的用戶ID時才使用它。簡而言之,只有當符號連接和符號連接指向的目標文件或目錄的所有者是同一用戶時,才會使用符號連接(如果該配置選項位于配置段?,將會被忽略)
6、ExecCGI
允許使用mod_cgi模塊執行CGI腳本
7、Includes
允許?用mod_include模塊提供的服務器端包含功能,例如讓apache支持ssi。
8、IncludesNOEXEC
允許服務器端包含,但禁用”#exec cmd”和”#exec cgi”。但仍可以從ScriptAlias目錄使用”#include virtual”虛擬CGI腳本
注意
此外,比較細心的讀者應該注意到,Options指令語法允許在配置選項前加上符號”+”或者”-“,那么這到底是什么意思呢?
實際上,Apache允許在一個目錄配置中設置多個Options指令。不過,一般來說,如果一個目錄被多次設置了Options,則指定特性數量最多的一個Options指令會被完全接受(其它的被忽略),而各個Options指令之間并不會合并。但是如果我們在可選配置項前加上了符號”+”或”-“,那么表示該可選項將會被合并。所有前面加有”+”號的可選項將強制覆蓋當前的可選項設置,而所有前面有”-“號的可選項將強制從當前可選項設置中去除。你可以參考下面的例子:
#示例1
<Directory /web/file>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/file/image>
Options Includes
</Directory>
#目錄/web/file/image只會被設置Includes特性
#示例2
<Directory /web/file>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/file/image>
Options +Includes -Indexes
</Directory>
#目錄/web/file/image將會被設置Includes、FollowSymLinks兩種特性
備注1:混合使用前面帶”+”、”-“和前面不帶”+”、”-“的同一可選項,可能會導致出現意料之外的結果 ;
備注2:使用-IncludesNOEXEC或-Includes時,不論前面如何設置,都會完全禁用服務器端包含。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP