欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

<-
Apache > HTTP Server > 文檔 > 版本2.2 > 模塊
   致謝 | 譯者聲明 | 本篇譯者:金步國(guó) | 本篇譯稿最后更新:2006年1月29日 | 獲取最新版本

Apache模塊 mod_setenvif

說(shuō)明根據(jù)客戶(hù)端請(qǐng)求頭字段設(shè)置環(huán)境變量
狀態(tài)基本(B)
模塊名setenvif_module
源文件mod_setenvif.c

概述

mod_setenvif模塊允許根據(jù)請(qǐng)求的不同方面匹配指定的正則表達(dá)式來(lái)設(shè)置環(huán)境變量。這些環(huán)境變量可由服務(wù)器的其他部分使用。

指令按照他們?cè)谂渲梦募谐霈F(xiàn)的順序生效。所以可以使用更多的復(fù)合序列,正如下例所示,如果瀏覽器是mozilla而非MSIE則會(huì)設(shè)置netscape 。

BrowserMatch ^Mozilla netscape
BrowserMatch MSIE !netscape

top

BrowserMatch 指令

說(shuō)明基于User-Agent頭有條件地設(shè)置環(huán)境變量
語(yǔ)法BrowserMatch regex [!]env-variable[=value] [[!]env-variable[=value]] ...
作用域server config, virtual host, directory, .htaccess
覆蓋項(xiàng)FileInfo
狀態(tài)基本(B)
模塊mod_setenvif

BrowserMatch只是SetEnvIf的一種特殊情況,基于User-Agent頭有條件地設(shè)置環(huán)境變量。下面的兩行具有相同的效果:

BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot

更多的例子:

BrowserMatch ^Mozilla forms jpeg=yes browser=netscape
BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript
BrowserMatch MSIE !javascript

top

BrowserMatchNoCase 指令

說(shuō)明基于不區(qū)分大小寫(xiě)的User-Agent頭有條件地設(shè)置環(huán)境變量
語(yǔ)法BrowserMatchNoCase regex [!]env-variable[=value] [[!]env-variable[=value]] ...
作用域server config, virtual host, directory, .htaccess
覆蓋項(xiàng)FileInfo
狀態(tài)基本(B)
模塊mod_setenvif

BrowserMatchNoCase等同于BrowserMatch ,僅僅是進(jìn)行不區(qū)分大小寫(xiě)的匹配。例如:

BrowserMatchNoCase mac platform=macintosh
BrowserMatchNoCase win platform=windows

BrowserMatchBrowserMatchNoCase只是SetEnvIfSetEnvIfNoCase的一種特殊情況。下面的兩行具有相同的效果:

BrowserMatchNoCase Robot is_a_robot
SetEnvIfNoCase User-Agent Robot is_a_robot

top

SetEnvIf 指令

說(shuō)明根據(jù)客戶(hù)端請(qǐng)求屬性設(shè)置環(huán)境變量
語(yǔ)法SetEnvIf attribute regex [!]env-variable[=value] [[!]env-variable[=value]] ...
作用域server config, virtual host, directory, .htaccess
覆蓋項(xiàng)FileInfo
狀態(tài)基本(B)
模塊mod_setenvif

SetEnvIf指令根據(jù)客戶(hù)端的請(qǐng)求屬性設(shè)置環(huán)境變量。第一個(gè)參數(shù)attribute必須是下列三種類(lèi)別之一:

  1. 一個(gè)HTTP請(qǐng)求頭域(參見(jiàn)RFC2616);例如:Host, User-Agent, Referer, Accept-Language 。可以用一個(gè)正則表達(dá)式來(lái)進(jìn)行匹配。
  2. 下列請(qǐng)求屬性之一:
    • Remote_Host 遠(yuǎn)程主機(jī)名(若可用)
    • Remote_Addr 遠(yuǎn)程主機(jī)IP地址
    • Server_Addr 接收到請(qǐng)求的服務(wù)器IP地址(2.0.43及以后版本)
    • Request_Method 所用的請(qǐng)求方法(GET, POST等等)
    • Request_Protocol 請(qǐng)求所使用的協(xié)議及其版本("HTTP/0.9", "HTTP/1.0", "HTTP/1.1"等)
    • Request_URI 在HTTP請(qǐng)求行中請(qǐng)求的資源(通常是URL中去除協(xié)議、主機(jī)以及查詢(xún)字符串后剩余的部分)。
  3. 列出的與該請(qǐng)求關(guān)聯(lián)的環(huán)境變量名字中的一個(gè)。這將允許SetEnvIf指令基于預(yù)先匹配的結(jié)果進(jìn)行測(cè)試。只有那些由較早的SetEnvIf[NoCase]指令定義的環(huán)境變量才可以按照這種方式測(cè)試。"較早的"意思是它們?cè)诟蠈拥淖饔糜?比如全局范圍)中被定義或者在同一作用域中較早出現(xiàn)。只有在請(qǐng)求的屬性未能得到匹配并且attribute沒(méi)有使用正則表達(dá)式的時(shí)候,環(huán)境變量才會(huì)被考慮。

第二個(gè)參數(shù)regex是一個(gè)Perl兼容的正則表達(dá)式。如果regex是根據(jù)attribute進(jìn)行匹配的,那么剩余的參數(shù)將被評(píng)估。剩余的參數(shù)給出了需要設(shè)置的變量名及其可選的值。格式如下:

  1. varname
  2. !varname
  3. varname=value

第一個(gè)格式,環(huán)境變量varname的值將設(shè)為"1"。第二個(gè)格式將刪除給定的變量varname(若存在)。第三個(gè)格式將為環(huán)境變量varname設(shè)置value的字面值。從2.0.51版開(kāi)始,Apache能夠識(shí)別value中出現(xiàn)的$1..$9 ,并將其替換為regex中對(duì)應(yīng)的使用括號(hào)括起來(lái)的子模式。

示例:

SetEnvIf Request_URI "\.gif$" object_is_image=gif
SetEnvIf Request_URI "\.jpg$" object_is_image=jpg
SetEnvIf Request_URI "\.xbm$" object_is_image=xbm
:
SetEnvIf Referer www\.mydomain\.com intra_site_referral
:
SetEnvIf object_is_image xbm XBIT_PROCESSING=1
:
SetEnvIf ^TS* ^[a-z].* HAVE_TS

前面的三個(gè)將會(huì)設(shè)置object_is_image環(huán)境變量(如果請(qǐng)求的是圖片)。第四個(gè)將會(huì)設(shè)置intra_site_referral環(huán)境變量(如果Referer頭表明來(lái)自于www.mydomain.com)。

最后一個(gè)將會(huì)設(shè)置環(huán)境變量HAVE_TS(如果包含任何以"TS"開(kāi)始的請(qǐng)求頭,并且該請(qǐng)求頭的值是以小寫(xiě)字母[a-z]開(kāi)頭的)。

參見(jiàn)

top

SetEnvIfNoCase 指令

說(shuō)明根據(jù)大小寫(xiě)無(wú)關(guān)的客戶(hù)端請(qǐng)求屬性設(shè)置環(huán)境變量
語(yǔ)法SetEnvIfNoCase attribute regex [!]env-variable[=value] [[!]env-variable[=value]] ...
作用域server config, virtual host, directory, .htaccess
覆蓋項(xiàng)FileInfo
狀態(tài)基本(B)
模塊mod_setenvif

SetEnvIfNoCase等同于SetEnvIf ,僅僅是進(jìn)行不區(qū)分大小寫(xiě)的匹配。例如:

SetEnvIfNoCase Host Apache\.Org site=apache

這會(huì)將環(huán)境變量site設(shè)置為"apache"(如果"Host:"請(qǐng)求頭包含"Apache.Org"、"apache.org"等大小寫(xiě)變體)。