Hitachi

 Hitachi Application Server V10 定義リファレンスUNIX®用)


2.3.144 SetEnvIf

クライアントからのリクエストを基に環境変数を定義する場合に指定します。

説明

クライアントからのリクエスト値が正規表現で表した条件を満たす場合、指定した環境変数を設定します。

書式

SetEnvIf リクエスト値 正規表現 環境変数[=値] [環境変数[=値] ...]

指定できる値

リクエスト値

HTTPリクエストヘッダーか次の表に示す値を指定できます。先に指定された環境変数をリクエスト値として指定することで環境変数の検査ができます。ただし、この場合の環境変数は、HTTPリクエストヘッダーにも次の表に示す指定値にも一致していない必要があります。

リクエスト値

意味

Remote_Addr

クライアントのIPアドレス

Remote_Host

クライアントのホスト名(リクエストに設定されている場合だけ)

Request_Protocol

リクエストのプロトコル(HTTP/1.1 など)

Request_Method

リクエストのメソッド名(GET、POST、HEADなど)

Request_URI

リクエストのURI

Server_Addr

リクエストを受信したサーバのIPアドレス

このディレクティブを複数指定する場合、同じリクエスト値は複数指定できません。

なお、リクエスト値Remote_Hostを指定した場合、正規表現にはIPv6アドレスに対応したホスト名も指定できます。また、IPv6を使用した接続に対しては、Remote_AddrServer_Addrのリクエスト値は使用できません。Remote_AddrServer_Addrを使用したい場合は、HWSSetEnvIfIPv6ディレクティブで設定してください。

正規表現

条件を指定します。

環境変数

クライアントからのリクエスト値が正規表現で表した条件を満たす場合に設定する環境変数を指定します。

環境変数の前に!を付けると、その環境変数の設定を解除します。

環境変数の値を指定します。

設定する値のデフォルト値は1です。

記述できる場所

httpsd.conf<VirtualHost><Directory>.htaccess

上書き許可

FileInfoレベル

記述例

(例1)
SetEnvIf User-Agent "Mozilla.*" SETENVIF_USER_AGENT=Mozilla
(例2)
SetEnvIf Request_URI "\.(gif)|(jpg)$" request_is_image
(例3)

IPv4を使用した接続のうち、特定のクライアントに対して環境変数を設定する場合は、次のように指定します。

Listen 123.123.123.123:80
Listen [2001::123:4567:89ab:cdef]:80
<VirtualHost 123.123.123.123:80>
        SetEnvIf Remote_Addr ^234\.234\.234\.234$ IPV4_CLIENT
</VirtualHost>