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

Apache Options指令詳解

2017-03-31 14:37:25 5853

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

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

<Directory "/home/www">

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

    Options Indexes FollowSymLinks

    AllowOverride all

    Require all granted

</Directory>

 

Options服務器特性

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

 

1All

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

 

2、None

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

 

3FollowSymLinks

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

4、Indexes

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

blob.png


 

4、MultiViews

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

 

5SymLinksIfOwnerMatch

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

 

6ExecCGI

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

 

7、Includes

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

 

8IncludesNOEXEC

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

 

注意

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

實際上,Apache允許在一個目錄配置中設置多個Options指令。不過,一般來說,如果一個目錄被多次設置了Options,則指定特性數(shù)量最多的一個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:混合使用前面帶”+”、”-“和前面不帶”+”、”-“的同一可選項,可能會導致出現(xiàn)意料之外的結果 ;

備注2:使用-IncludesNOEXEC-Includes時,不論前面如何設置,都會完全禁用服務器端包含。


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

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

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

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