<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Apache模塊 mod_setenvif | [說明](#calibre_link-11) | 根據客戶端請求頭字段設置環境變量 | | --- | --- | | [狀態](#calibre_link-12) | 基本(B) | | [模塊名](#calibre_link-13) | setenvif_module | | [源文件](#calibre_link-14) | mod_setenvif.c | ### 概述 `mod_setenvif`模塊允許根據請求的不同方面匹配指定的正則表達式來設置環境變量。這些環境變量可由服務器的其他部分使用。 指令按照他們在配置文件中出現的順序生效。所以可以使用更多的復合序列,正如下例所示,如果瀏覽器是mozilla而非MSIE則會設置`netscape` 。 ``` BrowserMatch ^Mozilla netscape BrowserMatch MSIE !netscape ``` ## BrowserMatch 指令 | [說明](#calibre_link-18) | 基于User-Agent頭有條件地設置環境變量 | | --- | --- | | [語法](#calibre_link-19) | `BrowserMatch _regex [!]env-variable_[=_value_] [[!]_env-variable_[=_value_]] ...` | | [作用域](#calibre_link-20) | server config, virtual host, directory, .htaccess | | [覆蓋項](#calibre_link-66) | FileInfo | | [狀態](#calibre_link-21) | 基本(B) | | [模塊](#calibre_link-22) | mod_setenvif | `BrowserMatch`只是`SetEnvIf`的一種特殊情況,基于`User-Agent`頭有條件地設置環境變量。下面的兩行具有相同的效果: ``` 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 ``` ## BrowserMatchNoCase 指令 | [說明](#calibre_link-18) | 基于不區分大小寫的User-Agent頭有條件地設置環境變量 | | --- | --- | | [語法](#calibre_link-19) | `BrowserMatchNoCase _regex [!]env-variable_[=_value_] [[!]_env-variable_[=_value_]] ...` | | [作用域](#calibre_link-20) | server config, virtual host, directory, .htaccess | | [覆蓋項](#calibre_link-66) | FileInfo | | [狀態](#calibre_link-21) | 基本(B) | | [模塊](#calibre_link-22) | mod_setenvif | `BrowserMatchNoCase`等同于`BrowserMatch` ,僅僅是進行不區分大小寫的匹配。例如: ``` BrowserMatchNoCase mac platform=macintosh BrowserMatchNoCase win platform=windows ``` `BrowserMatch`和`BrowserMatchNoCase`只是`SetEnvIf`和`SetEnvIfNoCase`的一種特殊情況。下面的兩行具有相同的效果: ``` BrowserMatchNoCase Robot is_a_robot SetEnvIfNoCase User-Agent Robot is_a_robot ``` ## SetEnvIf 指令 | [說明](#calibre_link-18) | 根據客戶端請求屬性設置環境變量 | | --- | --- | | [語法](#calibre_link-19) | `SetEnvIf _attribute regex [!]env-variable_[=_value_] [[!]_env-variable_[=_value_]] ...` | | [作用域](#calibre_link-20) | server config, virtual host, directory, .htaccess | | [覆蓋項](#calibre_link-66) | FileInfo | | [狀態](#calibre_link-21) | 基本(B) | | [模塊](#calibre_link-22) | mod_setenvif | `SetEnvIf`指令根據客戶端的請求屬性設置環境變量。第一個參數_attribute_必須是下列三種類別之一: 1. 一個HTTP請求頭域(參見[RFC2616](http://www.rfc-editor.org/rfc/rfc2616.txt));例如:`Host`, `User-Agent`, `Referer`, `Accept-Language` 。可以用一個正則表達式來進行匹配。 2. 下列請求屬性之一: * `Remote_Host` 遠程主機名(若可用) * `Remote_Addr` 遠程主機IP地址 * `Server_Addr` 接收到請求的服務器IP地址(2.0.43及以后版本) * `Request_Method` 所用的請求方法(`GET`, `POST`等等) * `Request_Protocol` 請求所使用的協議及其版本("HTTP/0.9", "HTTP/1.0", "HTTP/1.1"等) * `Request_URI` 在HTTP請求行中請求的資源(通常是URL中去除協議、主機以及查詢字符串后剩余的部分)。 3. 列出的與該請求關聯的環境變量名字中的一個。這將允許`SetEnvIf`指令基于預先匹配的結果進行測試。只有那些由較早的`SetEnvIf[NoCase]`指令定義的環境變量才可以按照這種方式測試。"較早的"意思是它們在更上層的作用域(比如全局范圍)中被定義或者在同一作用域中較早出現。只有在請求的屬性未能得到匹配并且_attribute_沒有使用正則表達式的時候,環境變量才會被考慮。 第二個參數_regex_是一個[Perl兼容的正則表達式](#calibre_link-67 "see glossary")。如果_regex_是根據_attribute_進行匹配的,那么剩余的參數將被評估。剩余的參數給出了需要設置的變量名及其可選的值。格式如下: 1. `_varname_` 2. `!_varname_` 3. `_varname_=_value_` 第一個格式,環境變量`_varname_`的值將設為"1"。第二個格式將刪除給定的變量`_varname_`(若存在)。第三個格式將為環境變量`_varname_`設置`_value_`的字面值。從2.0.51版開始,Apache能夠識別value中出現的`$1`..`$9` ,并將其替換為regex中對應的使用括號括起來的子模式。 ### 示例: ``` 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 ``` 前面的三個將會設置`object_is_image`環境變量(如果請求的是圖片)。第四個將會設置`intra_site_referral`環境變量(如果Referer頭表明來自于`www.mydomain.com`)。 最后一個將會設置環境變量`HAVE_TS`(如果包含任何以"TS"開始的請求頭,并且該請求頭的值是以小寫字母[a-z]開頭的)。 ### 參見 * [Apache環境變量](#calibre_link-232),以獲得更多例子。 ## SetEnvIfNoCase 指令 | [說明](#calibre_link-18) | 根據大小寫無關的客戶端請求屬性設置環境變量 | | --- | --- | | [語法](#calibre_link-19) | `SetEnvIfNoCase _attribute regex [!]env-variable_[=_value_] [[!]_env-variable_[=_value_]] ...` | | [作用域](#calibre_link-20) | server config, virtual host, directory, .htaccess | | [覆蓋項](#calibre_link-66) | FileInfo | | [狀態](#calibre_link-21) | 基本(B) | | [模塊](#calibre_link-22) | mod_setenvif | `SetEnvIfNoCase`等同于`SetEnvIf` ,僅僅是進行不區分大小寫的匹配。例如: ``` SetEnvIfNoCase Host Apache\.Org site=apache ``` 這會將環境變量`site`設置為"`apache`"(如果"`Host:`"請求頭包含"`Apache.Org`"、"`apache.org`"等大小寫變體)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看