e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<!-- English Revision: 658546:1673947 (outdated) -->
031b91a62d25106ae69d4693475c79618dd5e884fielding Licensed to the Apache Software Foundation (ASF) under one or more
031b91a62d25106ae69d4693475c79618dd5e884fielding contributor license agreements. See the NOTICE file distributed with
031b91a62d25106ae69d4693475c79618dd5e884fielding this work for additional information regarding copyright ownership.
031b91a62d25106ae69d4693475c79618dd5e884fielding The ASF licenses this file to You under the Apache License, Version 2.0
031b91a62d25106ae69d4693475c79618dd5e884fielding (the "License"); you may not use this file except in compliance with
031b91a62d25106ae69d4693475c79618dd5e884fielding the License. You may obtain a copy of the License at
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd Unless required by applicable law or agreed to in writing, software
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd distributed under the License is distributed on an "AS IS" BASIS,
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd See the License for the specific language governing permissions and
d5d794fc2f4cc9ca6d6da17cfa2cdcd8d244bacdnd limitations under the License.
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>リクエストの特徴に基づいた環境変数の設定を可能にする</description>
208651a016b098f4fa1f6279559f104d70f1632dtakashi モジュールは、リクエストのある側面が指定された正規表現
208651a016b098f4fa1f6279559f104d70f1632dtakashi に合うかどうかによって環境変数を設定する機能を提供します。
208651a016b098f4fa1f6279559f104d70f1632dtakashi これらの環境変数を使用して、サーバの他の部分がどのような動作をするかを
208651a016b098f4fa1f6279559f104d70f1632dtakashi 決定することができます。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>このモジュールが提供するディレクティブは、
208651a016b098f4fa1f6279559f104d70f1632dtakashi 設定ファイルに現れる順番に適用されます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi それを使って、次の例のようにより複雑な設定をすることができます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi これは、ブラウザが mozilla ではあるけれど、MSIE ではないときに
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatch ^Mozilla netscape<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatch MSIE !netscape<br />
208651a016b098f4fa1f6279559f104d70f1632dtakashi<seealso><a href="/env.html">Apache の環境変数</a></seealso>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>HTTP User-Agent に基づいて環境変数を設定する
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</description>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<syntax>BrowserMatch <em>regex [!]env-variable</em>[=<em>value</em>]
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki[[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
9dca5c120b818e1c51dbbb6c658d95a9f91b524cyoshiki<context>virtual host</context><context>directory</context>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <directive module="mod_setenvif">SetEnvIf</directive> ディレクティブの
208651a016b098f4fa1f6279559f104d70f1632dtakashi 環境変数を設定します。以下の 2 行の効果は同じになります:</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatchNoCase Robot is_a_robot<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIfNoCase User-Agent Robot is_a_robot<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatch MSIE !javascript<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>HTTP User-Agent に基づいて大文字小文字を区別せずに
208651a016b098f4fa1f6279559f104d70f1632dtakashi環境変数を設定する</description>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<syntax>BrowserMatchNoCase <em>regex [!]env-variable</em>[=<em>value</em>]
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
9dca5c120b818e1c51dbbb6c658d95a9f91b524cyoshiki<context>virtual host</context><context>directory</context>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p><directive>BrowserMatchNoCase</directive> ディレクティブは
208651a016b098f4fa1f6279559f104d70f1632dtakashi 意味的には <directive
208651a016b098f4fa1f6279559f104d70f1632dtakashi module="mod_setenvif">BrowserMatch</directive> ディレクティブと
208651a016b098f4fa1f6279559f104d70f1632dtakashi 同じです。ただし、このディレクティブは大文字小文字を区別しない
208651a016b098f4fa1f6279559f104d70f1632dtakashi マッチングを行ないます。例えば:</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatchNoCase mac platform=macintosh<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatchNoCase win platform=windows<br />
208651a016b098f4fa1f6279559f104d70f1632dtakashi <directive module="mod_setenvif">SetEnvIf</directive> ディレクティブと
208651a016b098f4fa1f6279559f104d70f1632dtakashi module="mod_setenvif">SetEnvIfNoCase</directive> ディレクティブの
208651a016b098f4fa1f6279559f104d70f1632dtakashi 特例です。以下の 2 行の効果は同じです:</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki BrowserMatchNoCase Robot is_a_robot<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIfNoCase User-Agent Robot is_a_robot<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>リクエストの属性に基づいて環境変数を設定する
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</description>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
9dca5c120b818e1c51dbbb6c658d95a9f91b524cyoshiki<context>virtual host</context><context>directory</context>
208651a016b098f4fa1f6279559f104d70f1632dtakashi ディレクティブは、リクエストの属性に基づいて環境変数を定義します。
208651a016b098f4fa1f6279559f104d70f1632dtakashi href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC 2616</a> を
208651a016b098f4fa1f6279559f104d70f1632dtakashi 正規表現を使うこともできます。</li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<li>以下のリクエストの一部分のどれか:
208651a016b098f4fa1f6279559f104d70f1632dtakashi リクエストを行なっているクライアントのホスト名 (もしあれば)</li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi リクエストを行なっているクライアントの IP アドレス</li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi リクエストを受け取ったサーバの IP アドレス
208651a016b098f4fa1f6279559f104d70f1632dtakashi (2.0.43 以降のみ)</li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi リクエストが行なわれたプロトコルの名前とバージョン
208651a016b098f4fa1f6279559f104d70f1632dtakashi (<em>例えば</em>、"HTTP/0.9", "HTTP/1.1" <em>など。</em>)</li>
2698a093bca765dbb626ca77f8b6b779ca13a975takashi URL のスキームとホストの後の部分。
2698a093bca765dbb626ca77f8b6b779ca13a975takashi 追加の情報として、クエリーストリングにマッチさせる場合については
2698a093bca765dbb626ca77f8b6b779ca13a975takashi <directive module="mod_rewrite">RewriteCond</directive>
2698a093bca765dbb626ca77f8b6b779ca13a975takashi ディレクティブを参照してください。</li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<li>リクエストと関連付けられる環境変数のリスト。これにより
208651a016b098f4fa1f6279559f104d70f1632dtakashi使うことができるようになります。この方法のテストでは前の部分にある
208651a016b098f4fa1f6279559f104d70f1632dtakashiより広い範囲に対して定義されている (サーバ全体のように) か、現在のディレクティブの
208651a016b098f4fa1f6279559f104d70f1632dtakashi範囲でより前の部分で定義されているか、ということです。
208651a016b098f4fa1f6279559f104d70f1632dtakashi環境変数である可能性は、リクエストの特性に対するマッチが存在せず、
2698a093bca765dbb626ca77f8b6b779ca13a975takashi<p>二つ目の引数 (<em>regex</em>) は <glossary ref="regex">正規表現</glossary>です。
208651a016b098f4fa1f6279559f104d70f1632dtakashi<p>残りの引数は設定する変数の名前で、設定される値を指定することもできます。
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki <li><code><em>varname</em>=<em>value</em></code></li>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>最初の形式では、値は "1" に設定されます。
208651a016b098f4fa1f6279559f104d70f1632dtakashi 二つ目はもし値が定義されていればそれを取り除きます。
b6f5b18ce63bb9aeb4316330f9b6f0af57e97ca7takashi 2.0.51 以降では、<var>value</var> 内に <code>$1</code>..<code>$9</code>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIf Request_URI "\.gif$" object_is_image=gif<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIf Request_URI "\.jpg$" object_is_image=jpg<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIf Request_URI "\.xbm$" object_is_image=xbm<br />
2698a093bca765dbb626ca77f8b6b779ca13a975takashi SetEnvIf Referer www\.mydomain\.example\.com intra_site_referral<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIf object_is_image xbm XBIT_PROCESSING=1<br />
2698a093bca765dbb626ca77f8b6b779ca13a975takashi SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" NetscapeComment=$1<br />
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIf ^TS* ^[a-z].* HAVE_TS<br />
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>初めの三つはリクエストが画像であるときに環境変数
2698a093bca765dbb626ca77f8b6b779ca13a975takashi 参照元のページがウェブサイト <code>www.mydomain.example.com</code> にあるときに
2698a093bca765dbb626ca77f8b6b779ca13a975takashi その値が SSL クライアント証明書の対応するフィールドの文字列であるようにします。
2698a093bca765dbb626ca77f8b6b779ca13a975takashi ただし SSL クライアント証明書の対応するフィールドに文字列が存在する
2698a093bca765dbb626ca77f8b6b779ca13a975takashi ときにのみ、環境変数は設定されます。</p>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <p>最後の例は、リクエストに "TS" で始まり、値が集合 [a-z] のどれかで
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
5e4ea7442ef8c03184c727a39fc03e240b239b74rbowen<directivesynopsis>
5e4ea7442ef8c03184c727a39fc03e240b239b74rbowen<description>Sets environment variables based on an ap_expr expression</description>
5e4ea7442ef8c03184c727a39fc03e240b239b74rbowen<contextlist><context>server config</context><context>virtual host</context><context>directory</context><context>.htaccess</context></contextlist>
d0949f69bfc559cfd4b28a9ed09d0d50a4503d1crbowen<usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
5e4ea7442ef8c03184c727a39fc03e240b239b74rbowen</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki<directivesynopsis>
208651a016b098f4fa1f6279559f104d70f1632dtakashi<description>リクエストの属性に基づいて大文字小文字を区別せずに環境変数を設定する</description>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki [[!]<em>env-variable</em>[=<em>value</em>]] ...</syntax>
9dca5c120b818e1c51dbbb6c658d95a9f91b524cyoshiki<context>virtual host</context><context>directory</context>
208651a016b098f4fa1f6279559f104d70f1632dtakashi <directive module="mod_setenvif">SetEnvIf</directive> ディレクティブと
208651a016b098f4fa1f6279559f104d70f1632dtakashi 同じです。違いは、正規表現のマッチングが大文字小文字を区別しないで
208651a016b098f4fa1f6279559f104d70f1632dtakashi 行なわれることです。例えば:</p>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki SetEnvIfNoCase Host Apache\.Org site=apache
208651a016b098f4fa1f6279559f104d70f1632dtakashi あり、その値が <code>Apache.Org</code> や <code>apache.org</code>、
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</directivesynopsis>
e50dced6f51b101fcf63e1b51ebf771287870107yoshiki</modulesynopsis>