国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

Apache Options指令詳解

2017-03-31 14:37:25 5855

前言:Options指令是Apache配置文件中一個(gè)比較常見也比較重要的指令,Options指令可以在Apache服務(wù)器核心配置(server config)、虛擬主機(jī)配置(virtual host)、特定目錄配置(directory)以及.htaccess文件中使用。Options指令的主要作用?控制特定目錄將啟用哪些服務(wù)器特性。

Options指令常見的配置示例代碼如下:

<Directory "/home/www">

    #指定根目錄/home/www啟用IndexesFollowSymLinks兩種特性

    Options Indexes FollowSymLinks

    AllowOverride all

    Require all granted

</Directory>

 

Options服務(wù)器特性

Options指令的完整語法為:Options [+|-]option [[+|-]option];簡而言之,Options指令后可以附加指定多種服務(wù)器特性,特性選項(xiàng)之間以空格分隔。下面我們來看看Options指令后可以附加的特性選項(xiàng)的具體作用及含義(Apache配置中的內(nèi)容均不區(qū)分大小寫)

 

1、All

表示除MultiViews之外的所有特性(這也是Options指令的默認(rèn)設(shè)置)

 

2、None

表示不啟用任何的服務(wù)器特性

 

3FollowSymLinks

服務(wù)器允許在此目錄中使用符號(hào)連接(如果該配置選項(xiàng)位于配置段中,將會(huì)被忽略),意思是:允許網(wǎng)站目錄里的鏈接文件鏈接到首頁目錄以外的文件。舉例來說,如果你把首頁目錄設(shè)置為/var/www/html,那么你的網(wǎng)頁程序最多只能訪問到/var/www/html目錄,上層目錄是不可見的。但是可以通過鏈接把文件鏈接到/var/www/html目錄以外的文件以訪問該文件,如果FollowSymLinks被設(shè)置的話。

4、Indexes

如果輸入的網(wǎng)址對應(yīng)服務(wù)器上的一個(gè)文件目錄,而此目錄中又沒有DirectoryIndex指令(例:DirectoryIndex index.html index.PHP),那么服務(wù)器會(huì)返回由mod_autoindex模塊生成的一個(gè)格式化后的目錄列表,并列出該目錄下的所有文件(如下圖)

blob.png


 

4、MultiViews

允許使用mod_negotiation模塊提供內(nèi)容協(xié)商的多重視圖。簡而言之,如果客戶端請求的路徑可能對應(yīng)多種類型的文件,那么服務(wù)器將根據(jù)客戶端請求的具體情況自動(dòng)選擇一個(gè)最匹配客戶端要求的文件。例如,在服務(wù)器站點(diǎn)的file文件夾下中在名為hello.jpghello.html的兩個(gè)文件,此時(shí)用戶輸入Http://localhost/file/hello,如果在file文件夾下并沒有hello子目錄,那么服務(wù)器將會(huì)嘗試在file文件夾下查找形如hello.*的文件,然后根據(jù)用戶請求的具體情況返回最匹配要求的hello.jpg或者hello.html

 

5、SymLinksIfOwnerMatch

服務(wù)器僅在符號(hào)連接與目標(biāo)文件或目錄的所有者具有相同的用戶ID時(shí)才使用它。簡而言之,只有當(dāng)符號(hào)連接和符號(hào)連接指向的目標(biāo)文件或目錄的所有者是同一用戶時(shí),才會(huì)使用符號(hào)連接(如果該配置選項(xiàng)位于配置段?,將會(huì)被忽略)

 

6、ExecCGI

允許使用mod_cgi模塊執(zhí)行CGI腳本

 

7Includes

允許?用mod_include模塊提供的服務(wù)器端包含功能,例如讓apache支持ssi。

 

8、IncludesNOEXEC

允許服務(wù)器端包含,但禁用”#exec cmd””#exec cgi”。但仍可以從ScriptAlias目錄使用”#include virtual”虛擬CGI腳本

 

注意

此外,比較細(xì)心的讀者應(yīng)該注意到,Options指令語法允許在配置選項(xiàng)前加上符號(hào)”+”或者”-“,那么這到底是什么意思呢?

實(shí)際上,Apache允許在一個(gè)目錄配置中設(shè)置多個(gè)Options指令。不過,一般來說,如果一個(gè)目錄被多次設(shè)置了Options,則指定特性數(shù)量最多的一個(gè)Options指令會(huì)被完全接受(其它的被忽略),而各個(gè)Options指令之間并不會(huì)合并。但是如果我們在可選配置項(xiàng)前加上了符號(hào)”+””-“,那么表示該可選項(xiàng)將會(huì)被合并。所有前面加有”+”號(hào)的可選項(xiàng)將強(qiáng)制覆蓋當(dāng)前的可選項(xiàng)設(shè)置,而所有前面有”-“號(hào)的可選項(xiàng)將強(qiáng)制從當(dāng)前可選項(xiàng)設(shè)置中去除。你可以參考下面的例子:

 

#示例1

 

<Directory /web/file>

    Options Indexes FollowSymLinks

</Directory>

 

<Directory /web/file/image>

    Options Includes

</Directory>

#目錄/web/file/image只會(huì)被設(shè)置Includes特性

 

#示例2

 

<Directory /web/file>

    Options Indexes FollowSymLinks

</Directory>

 

<Directory /web/file/image>

    Options +Includes -Indexes

</Directory>

#目錄/web/file/image將會(huì)被設(shè)置Includes、FollowSymLinks兩種特性

 

備注1:混合使用前面帶”+”、”-“和前面不帶”+””-“的同一可選項(xiàng),可能會(huì)導(dǎo)致出現(xiàn)意料之外的結(jié)果 ;

備注2:使用-IncludesNOEXEC-Includes時(shí),不論前面如何設(shè)置,都會(huì)完全禁用服務(wù)器端包含。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: