[an error occurred while processing this directive]
[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

mod_setenvif モジュール

このモジュールは mod_setenvif.c ファイルに含まれ、デフォルトでコンパイルされます。リクエストを基にして環境変数を設定する機能を与えます。

概要

mod_setenvif モジュールは、異なる状況のリクエストが指定した通常表記と一致するかどうかによって環境変数を設定することを許可します。これらの変数は、行われる動作について決定するためのサーバの他の部分によって使われます。

命令


The BrowserMatch Directive

Syntax: BrowserMatch regex envar[=value] [...]
Default: none
Context: server config
Override: none
Status: Base
Module: mod_setenvif
Compatibility: Apache 1.2 and above

BrowserMatch 命令はUser-Agent HTTP リクエスト・ヘッダフィールドを基にした環境変数を定義します。最初の引数は拡張された通常表記である POSIX.2 であるべきです(egrep-style regex と類似)。引数の残りは設定する変数の名前と、設定されるべきオプション値を与えます。これらは以下のフォームを取ります。

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

最初のフォームでは、値は "1" に設定されるでしょう。二番目は、もし既に定義されていれば、与えられた変数を外します。三番目は value によって与えられた値に変数を設定します。もし User-Agent ストリングが一つ以上のエントリーと一致すれば、それはマージされます。エントリーはそれが現れる順番に処理されて、後のエントリーは初期のものを無効にします。

For example:

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

通常表記のストリングが case-sensitive であることに注意してください。cane-INsensitive の一致のためには、BrowserMatchNoCase 命令を見てください。

BrowserMatchBrowserMatchNoCase の命令は SetEnvIfSetEnvIfNoCase 命令の特別なケースです。以下の二行に同じ効果があります:

   BrowserMatchNoCase Robot is_a_robot
   SetEnvIfNoCase User-Agent Robot is_a_robot
  

BrowserMatchNoCase 命令

Syntax: BrowserMatchNoCase regex envar[=value] [...]
Default: none
Context: server config
Override: none
Status: Base
Module: mod_setenvif
Compatibility: Apache 1.2 and above

BrowserMatchNoCase 命令は BrowserMatch 命令と同じ意味です。しかし、大文字と小文字を区別しません。例えば:

    BrowserMatchNoCase mac platform=macintosh
    BrowserMatchNoCase win platform=windows
  

BrowserMatchBrowserMatchNoCase 命令は SetEnvIfSetEnvIfNoCase 命令の特別な場合です。以下の二行には同じ効果があります:

   BrowserMatchNoCase Robot is_a_robot
   SetEnvIfNoCase User-Agent Robot is_a_robot
  

The SetEnvIf Directive

Syntax: SetEnvIf attribute regex envar[=value] [...]
Default: none
Context: server config
Override: none
Status: Base
Module: mod_setenvif
Compatibility: Apache 1.3 and above

SetEnvIf 命令はリクエストを基にした環境変数を定義します。これらは様々な HTTP リクエストヘッダのフィールド (これらについて詳しくは RFC2068 を見てください) か、以下を含んだリクエストの他の側面に依ります:

リクエスト・ヘッダのフィールド名が使われる一般的なもののいくつかは、HostUser-AgentReferer を含んでいます。

例:

   SetEnvIf Request_URI "\.(gif)|(jpg)|(xbm)$" object_is_image
   SetEnvIf Referer www\.mydomain\.com intra_site_referral
  

もしリクエストがイメージファイルのためなら、一番目は object_is_image 変数を設定し、参照しているページが www.mydomain.com ウェブサイトのどこかにあれば、二番目は intra_site_referral を設定します。


SetEnvIfNoCase 命令

Syntax: SetEnvIfNoCase attribute regex envar[=value] [...]
Default: none
Context: server config
Override: none
Status: Base
Module: mod_setenvif
Compatibility: Apache 1.3 and above

SetEnvIfNoCaseSetEnvIf 命令と同じ意味で、通常表記の一致が大文字と小文字を区別しないというところだけが異なっています。例えば:

   SetEnvIfNoCase Host Apache\.Org site=apache
  

もし HTTP リクエストのヘッダフィールドの Host: が含まれ、Apache.Orgapache.org、その他の組み合わせを含んでいれば、これは site 変数に "apache" を設定させるでしょう。


Apache HTTP Server Version 1.3

検索文字
Index Home The English original manual is here.
このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。