一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

apache配置<Files> <FilesMatch> <Location><LocationMatch>指令

 yliu277 2015-03-17

<Files> 指令

說明        包含作用于匹配指定文件名的指令
語法        <Files filename> ... </Files>
作用域        server config, virtual host, directory, .htaccess
覆蓋項(xiàng)        All
狀態(tài)        核心(C)
模塊        core

<Files>指令提供了基于文件名的訪問控制,類似于<Directory>和<Location>指令。它將配對(duì)一個(gè)</Files>指令。在此配置段中定義的指令將作用于其基本名稱(不是完整的路徑)與指定的文件名相符的對(duì)象。<Files>段將根據(jù)它們?cè)谂渲梦募谐霈F(xiàn)的順序被處理:在<Directory>段和.htaccess文件被處理之后,但在<Location>段之前。請(qǐng)注意:<Files>能嵌入到<Directory>段中以限制它們作用的文件系統(tǒng)范圍。

filename參數(shù)應(yīng)當(dāng)是一個(gè)文件名或是一個(gè)包含通配符的字符串,其中"?"匹配任何單個(gè)字符,"*"匹配任何字符串序列。在"~"字符之后同樣可以使用正則表達(dá)式。比如:

<Files ~ "\.(gif|jpe?g|png)$">

將匹配絕大部分常見的因特網(wǎng)圖象格式。然而在Apache1.3及其后繼版本中,更推薦使用<FilesMatch>指令。

請(qǐng)注意與<Directory>和<Location>配置段不同的是:<Files>配置段可用于.htaccess文件當(dāng)中。這將允許用戶在文件層面上控制對(duì)它們自己文件的訪問。 

<FilesMatch> 指令

說明        包含作用于與正則表達(dá)式匹配的文件名的指令
語法        <FilesMatch regex> ... </FilesMatch>
作用域        server config, virtual host, directory, .htaccess
覆蓋項(xiàng)        All
狀態(tài)        核心(C)
模塊        core

<FilesMatch>指令就像<Files>指令一樣提供了針對(duì)文件名的訪問控制。然而,它使用的是正則表達(dá)式。比如說:

<FilesMatch "\.(gif|jpe?g|png)$">

將匹配最常見的internet圖形文件格式。 

Include 指令

說明        在服務(wù)器配置文件中包含其它配置文件
語法        Include file-path|directory-path
作用域        server config, virtual host, directory
狀態(tài)        核心(C)
模塊        core
兼容性        通配符僅在Apache 2.0.41 及以后的版本中可用

這個(gè)指令允許在服務(wù)器配置文件中加入其它配置文件。

Shell風(fēng)格(fnmatch())的通配符可以用于按照字母順序一次包含多個(gè)文件。另外,如果Include指向了一個(gè)目錄而不是一個(gè)文件,Apache將讀入該目錄及其子目錄下的所有文件,并依照字母順序?qū)⑦@些文件作為配置文件進(jìn)行解析。但是并不推薦這么做,因?yàn)榕紶枙?huì)有臨時(shí)文件在這個(gè)目錄中生成,從而導(dǎo)致httpd啟動(dòng)失敗。

文件的路徑可以是一個(gè)完整的絕對(duì)路徑(以一個(gè)斜杠開頭):

Include /usr/local/apache2/conf/ssl.conf
Include /usr/local/apache2/conf/vhosts/*.conf

或是相對(duì)于ServerRoot目錄的相對(duì)路徑:

Include conf/ssl.conf
Include conf/vhosts/*.conf

請(qǐng)確保包含的目錄中不包含任何諸如編輯器臨時(shí)文件等引起誤導(dǎo)的文件,因?yàn)锳pache會(huì)嘗試讀取它們并把其中的內(nèi)容作為配置指令來處理,這樣可能會(huì)導(dǎo)致啟動(dòng)過程的失敗。運(yùn)行apachectl configtest 將會(huì)把配置檢查時(shí)所使用的所有文件列出來以供參考。這將有助于檢驗(yàn)配置中是否僅包含了您所希望出現(xiàn)那些文件。

root@host# apachectl configtest
Processing config file: /usr/local/apache2/conf/ssl.conf
Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf
Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf
Syntax OK 

<Location> 指令

說明        將封裝的指令作用于匹配的URL
語法        <Location URL-path|URL> ... </Location>
作用域        server config, virtual host
狀態(tài)        核心(C)
模塊        core

<Location>提供了基于URL的訪問控制。與<Directory>指令類似,它也會(huì)啟用一個(gè)以</Location>結(jié)尾的配置段。<Location>配置段的處理位于<Directory>, .htaccess, <Files>之后,并依照在配置文件中出現(xiàn)的順序進(jìn)行處理。

<Location>配置段完全獨(dú)立于文件系統(tǒng)之外操作。這有幾個(gè)重要的后果。最重要的是<Location>不能用于針對(duì)文件系統(tǒng)的訪問控制。因?yàn)榭赡軙?huì)有幾個(gè)不同的URL指向文件系統(tǒng)中的同一個(gè)文件,所以這樣的控制常常會(huì)被很容易的繞過。
何時(shí)使用<Location>?

使用<Location>來將指令應(yīng)用于獨(dú)立于文件系統(tǒng)之外的內(nèi)容。文件系統(tǒng)之內(nèi)的內(nèi)容請(qǐng)使用<Directory>和<Files>指令。不過一個(gè)例外是<Location /> ,它可以方便的作用于所用URL。

對(duì)所有的原始(非代理)請(qǐng)求來說,匹配的URL應(yīng)該是具有"/path/"形式的URL路徑。不包括訪問方法、主機(jī)名、端口或查詢字符串等。對(duì)于代理的請(qǐng)求,匹配的URL必須為"scheme://servername/path"的形式,而且必須包括前綴。

URL可以用一個(gè)通配符字符串來進(jìn)行通配符的處理。"?"匹配任何單個(gè)的字符,而"*"匹配所有字符序列。

也可以附加"~"字符來表示使用正則表達(dá)式。例如:

<Location ~ "/(extra|special)/data">

將匹配所有包含字符串"/extra/data"或"/special/data"的URL。在Apache1.3及其后續(xù)版本中,加入了一個(gè)新的推薦使用的<LocationMatch>指令,其功能與<Location>的正則表達(dá)式版本相同。

<Location>的功能在與SetHandler指令聯(lián)用時(shí)能發(fā)揮最大效能。比如啟用狀態(tài)請(qǐng)求,但僅對(duì)來自foo.com的用戶起效,您可以這樣使用:

<Location /status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .foo.com
</Location>
請(qǐng)注意"/"(斜線)

斜線字符根據(jù)它在URL中出現(xiàn)的位置不同有著特殊的意義。大家可能都已經(jīng)習(xí)慣在文件系統(tǒng)中,多個(gè)連續(xù)的斜線會(huì)被作為單一的斜線處理(例如"/home ///foo"與"/home/foo"相同)。但在URL里面,這樣是行不通的。<LocationMatch>指令和正則表達(dá)式版本的<Location>要求您明確使用多重斜線。比如:<LocationMatch ^/abc>將匹配請(qǐng)求"/abc"但不會(huì)匹配請(qǐng)求"http://abc"。而非正則表達(dá)式版本的<Location>指令在用于代理請(qǐng)求時(shí),也有類似表現(xiàn)。但當(dāng)非正則表達(dá)式版本的<Location>作用于非代理請(qǐng)求時(shí),它會(huì)將多個(gè)毗鄰的斜線認(rèn)作單個(gè)斜線。比如,如果您指定了<Location /abc/def>而請(qǐng)求是指向"/abc//def"的,那么它們就是匹配的。 

<LocationMatch> 指令

說明        將封裝的指令作用于正則表達(dá)式匹配的URL
語法        <LocationMatch regex> ... </LocationMatch>
作用域        server config, virtual host
狀態(tài)        核心(C)
模塊        core

<LocationMatch>和<Location>指令相同,提供了基于URL的訪問控制。但它使用正則表達(dá)式作為參數(shù),而不是簡(jiǎn)單字符串。比如:

<LocationMatch "/(extra|special)/data">

將匹配包含子串"/extra/data"或"/special/data"的URL。

如果您喜歡本文請(qǐng)分享給您的好友,謝謝!如想瀏覽更多更好的web服務(wù)器內(nèi)容,請(qǐng)登錄:http://www./edu/server/1/index.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲中文字幕高清乱码毛片| 国产精品免费自拍视频| 久久精品国产一区久久久| 老司机精品在线你懂的| 大尺度激情福利视频在线观看| 婷婷色网视频在线播放| 国产精品人妻熟女毛片av久久| 国产成人精品一区在线观看 | 富婆又大又白又丰满又紧又硬| 中文字幕人妻一区二区免费| 男人大臿蕉香蕉大视频| 99久久国产精品免费| 欧美日韩免费黄片观看| 国产精品熟女在线视频| 成人午夜激情免费在线| 国产日本欧美韩国在线| 亚洲女同一区二区另类| 欧美日韩在线第一页日韩| 亚洲中文字幕熟女丝袜久久| 国产午夜精品亚洲精品国产| 国产成人精品一区二区在线看| 色偷偷偷拍视频在线观看| 欧美黑人在线精品极品| 亚洲精品深夜福利视频| 欧美国产亚洲一区二区三区| 一区中文字幕人妻少妇| 91欧美日韩精品在线| 免费在线播放不卡视频| 精品日韩视频在线观看| 久久大香蕉一区二区三区| 欧美日韩三区在线观看| 国产偷拍盗摄一区二区| 精品日韩欧美一区久久| 国产日本欧美韩国在线| 日韩午夜福利高清在线观看| 亚洲精品国产福利在线| 国产91人妻精品一区二区三区 | 大香伊蕉欧美一区二区三区| 久久热在线视频免费观看| 亚洲精品福利视频你懂的| 大香蕉网国产在线观看av|