env.xml.ja revision a547340d7d0f0e79c9ba921c7dec7b18d0c800ff
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen<!-- English Revision: 659902:1001639 (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
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess Unless required by applicable law or agreed to in writing, software
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess distributed under the License is distributed on an "AS IS" BASIS,
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess See the License for the specific language governing permissions and
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess limitations under the License.
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 変数に情報を記憶する仕組みを提供しています。この情報はログ収集や
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess アクセス制御などのいろいろな操作を制御するために使うことができます。
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess これらの変数は CGI スクリプトなどの外部プログラムと通信するためにも
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 使われます。この文書はそれらの変数の操作方法と使用方法をいくつか
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 紹介します。</p>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess システムによって制御されている環境変数と同じではありません。
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 実際は、これらの変数は Apache の内部構造の中に記憶され、操作されています。
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess それらは、CGI や SSI スクリプトに渡されたときだけ、実際の
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess オペレーティングシステムの環境変数になります。サーバ自身が
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 実行されているオペレーティングシステムの環境を操作したい場合は、
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess オペレーティングシステムのシェルが提供している標準の環境変数の
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 操作方法を使わなければなりません。</p>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess </summary>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess <modulelist>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </modulelist>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <directivelist>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <directive module="mod_setenvif">BrowserMatch</directive>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <directive module="mod_setenvif">BrowserMatchNoCase</directive>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <directive module="mod_setenvif">SetEnvIfNoCase</directive>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </directivelist>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </related>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <p>Apache において環境変数を設定する一番基本的な方法は、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd >SetEnv</directive> ディレクティブを使用することです。
4b5b56aec9f41dcf656de6534178fd353efbd43bkess ディレクティブにより、Apache が起動されたシェルの
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 環境変数を渡すこともできます。</p>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <p>より柔軟性を高めるために、mod_setenvif
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd で提供されているディレクティブを使用することで、リクエストの
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 特性に基づいて環境変数を設定することができます。例えば、特定のブラウザ
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess (User-Agent) のリクエストや特定の Referer [意図的な綴りです]
4b5b56aec9f41dcf656de6534178fd353efbd43bkess <transnote>正しい綴りは referrer ですが、HTTP の仕様では Referer
4b5b56aec9f41dcf656de6534178fd353efbd43bkess となっています</transnote>ヘッダが見つかったときのみ変数を設定することができます。
4b5b56aec9f41dcf656de6534178fd353efbd43bkess mod_rewrite の <directive module="mod_rewrite">RewriteRule</directive>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess オプションを使用することで、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd より柔軟な設定を行なうことができます。</p>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess <p>mod_unique_id は、非常に限られた条件の下で
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess 「すべて」のリクエストについて、一意であることが保証されている値を環境変数
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <p>Apache の設定ファイルで設定された環境変数とシェルから渡される
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 環境変数に加えて、CGI スクリプトと SSI ページには <a
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd リクエストのメタ情報を持った環境変数の組が提供されます。</p>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <li>環境を操作するディレクティブを使って標準 CGI
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 変数を上書きしたり変更したりすることはできません。</li>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess が使用されている場合、CGI スクリプトが起動するために、環境変数は<em
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess >安全</em>な環境変数の組に整理されます。
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess で定義されます。</li>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <li>移植性のために、環境変数の名前はアルファベット、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd さらに、最初の文字は数字であってはいけません。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd この制限に合わない文字は CGI スクリプトと SSI
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd ページに渡されるときにアンダースコアに置換されます。</li>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <li><directive module="mod_env">SetEnv</directive> はリクエスト処理の
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 段階の中でも遅くに実行されます。つまり
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd などからは、変数がそこで設定されていることがわかりません。</li>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <modulelist>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess </modulelist>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <directivelist>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess <directive module="mod_log_config">CustomLog</directive>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <directive module="mod_ext_filter">ExtFilterDefine</directive>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess <directive module="mod_rewrite">RewriteRule</directive>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess </directivelist>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </related>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess <p>環境変数の主な利用法の一つは、CGI スクリプトに情報を伝えることです。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 上で説明されているように、CGI スクリプトに渡される環境変数は Apache
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd の設定により設定される変数に加えて、リクエストの標準のメタ情報を含んでいます。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd を参照してください。</p>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 要素を使用すると環境変数が出力されます。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd また、ページのある部分がリクエストの性質に応じて変更されるように、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 環境変数をフロー制御要素で使うことができます。詳細は
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd <p><code>allow from env=</code> ディレクティブと <code>deny from env=</code>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd ディレクティブを使用して、サーバへのアクセスを環境変数の値で制御することができます。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd ディレクティブと組み合わせることで、クライアントの特性に基づいて
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd サーバへのアクセス制御を柔軟に行なうことができるようになります。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd たとえば、これらのディレクティブを使用して、特定のブラウザ (User-Agent)
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd からのアクセスを拒否することができます。</p>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess <p><directive module="mod_log_config">LogFormat</directive>
4b5b56aec9f41dcf656de6534178fd353efbd43bkess を使用することで、環境変数をアクセスログに記録することができます。さらに、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd ディレクティブの条件分岐式を使用することで、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 環境変数の値によってリクエストをログに記録するかどうかを決めることができます。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd ディレクティブと組み合わせることで、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd どのリクエストをログに記録するかを柔軟に制御することが可能になります。たとえば、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd 違うサブネットのクライアントからのリクエストだけをログに記録する、
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd という選択が可能です。</p>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd </section>
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd ディレクティブは環境変数の存在や不在によってクライアントへの応答に特定の
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd HTTP ヘッダを付けるかどうかを決めることができます。
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd これにより、たとえば、クライアントからのリクエスト
8f7d6fc3a6ad107d66934d0d75ba4a5a095e1a3fnd にあるヘッダがある場合にのみ特定の応答ヘッダを送る、というようなことが
b3d2e587a32b409eca3ab23d1d1884d5199a8241kess </section>
<section id="proxy"><title>force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, proxy-sendcl</title>
httpd.conf に次の行を加えるよう推奨されていましたが、
# The first directive disables keepalive for Netscape 2.x and browsers that
SetEnvIf Referer "^http://www\.example\.com/" local_referal