env.xml.ja revision 57595802dd5b793828313c93fbf01c16c51d3d51
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<!-- English Revision: 659902:1058643 (outdated) -->
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Licensed to the Apache Software Foundation (ASF) under one or more
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes contributor license agreements. See the NOTICE file distributed with
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes this work for additional information regarding copyright ownership.
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes The ASF licenses this file to You under the Apache License, Version 2.0
0662ed52e814f8f08ef0e09956413a792584eddffuankg (the "License"); you may not use this file except in compliance with
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes the License. You may obtain a copy of the License at
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Unless required by applicable law or agreed to in writing, software
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes distributed under the License is distributed on an "AS IS" BASIS,
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes See the License for the specific language governing permissions and
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes limitations under the License.
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 変数に情報を記憶する仕組みを提供しています。この情報はログ収集や
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes アクセス制御などのいろいろな操作を制御するために使うことができます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes これらの変数は CGI スクリプトなどの外部プログラムと通信するためにも
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 使われます。この文書はそれらの変数の操作方法と使用方法をいくつか
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes システムによって制御されている環境変数と同じではありません。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 実際は、これらの変数は Apache の内部構造の中に記憶され、操作されています。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes それらは、CGI や SSI スクリプトに渡されたときだけ、実際の
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes オペレーティングシステムの環境変数になります。サーバ自身が
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 実行されているオペレーティングシステムの環境を操作したい場合は、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes オペレーティングシステムのシェルが提供している標準の環境変数の
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 操作方法を使わなければなりません。</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <modulelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes </modulelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directivelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">BrowserMatch</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">BrowserMatchNoCase</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_rewrite">RewriteRule</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">SetEnvIf</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">SetEnvIfNoCase</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes </directivelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Apache において環境変数を設定する一番基本的な方法は、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes >SetEnv</directive> ディレクティブを使用することです。
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg ディレクティブにより、Apache が起動されたシェルの
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 環境変数を渡すこともできます。</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>より柔軟性を高めるために、mod_setenvif
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes で提供されているディレクティブを使用することで、リクエストの
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 特性に基づいて環境変数を設定することができます。例えば、特定のブラウザ
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes (User-Agent) のリクエストや特定の Referer [意図的な綴りです]
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <transnote>正しい綴りは referrer ですが、HTTP の仕様では Referer
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes となっています</transnote>ヘッダが見つかったときのみ変数を設定することができます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes mod_rewrite の <directive module="mod_rewrite">RewriteRule</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes オプションを使用することで、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes より柔軟な設定を行なうことができます。</p>
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg <p>mod_unique_id は、非常に限られた条件の下で
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 「すべて」のリクエストについて、一意であることが保証されている値を環境変数
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Apache の設定ファイルで設定された環境変数とシェルから渡される
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 環境変数に加えて、CGI スクリプトと SSI ページには <a
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes href="http://cgi-spec.golux.com">CGI の仕様</a>で要求されている、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes リクエストのメタ情報を持った環境変数の組が提供されます。</p>
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg <li>環境を操作するディレクティブを使って標準 CGI
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 変数を上書きしたり変更したりすることはできません。</li>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes が使用されている場合、CGI スクリプトが起動するために、環境変数は<em
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes >安全</em>な環境変数の組に整理されます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes で定義されます。</li>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <li>移植性のために、環境変数の名前はアルファベット、
0662ed52e814f8f08ef0e09956413a792584eddffuankg さらに、最初の文字は数字であってはいけません。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes この制限に合わない文字は CGI スクリプトと SSI
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ページに渡されるときにアンダースコアに置換されます。</li>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <li><directive module="mod_env">SetEnv</directive> はリクエスト処理の
0662ed52e814f8f08ef0e09956413a792584eddffuankg 段階の中でも遅くに実行されます。つまり
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">SetEnvIf</directive> や
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_rewrite">RewriteCond</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes などからは、変数がそこで設定されていることがわかりません。</li>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <modulelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes </modulelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directivelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_authz_host">Allow</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_log_config">CustomLog</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_authz_host">Deny</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_ext_filter">ExtFilterDefine</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_headers">Header</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_log_config">LogFormat</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_rewrite">RewriteCond</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_rewrite">RewriteRule</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes </directivelist>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>環境変数の主な利用法の一つは、CGI スクリプトに情報を伝えることです。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 上で説明されているように、CGI スクリプトに渡される環境変数は Apache
bf1e7c075ccc3e6597d17de7641332ff6ff92e8astriker の設定により設定される変数に加えて、リクエストの標準のメタ情報を含んでいます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes を参照してください。</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 要素を使用すると環境変数が出力されます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes また、ページのある部分がリクエストの性質に応じて変更されるように、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 環境変数をフロー制御要素で使うことができます。詳細は
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <a href="howto/ssi.html">SSI チュートリアル</a> を参照してください。</p>
9046ab142ed19505e034af0afb8c15be512b8526bnicholes <p><code>allow from env=</code> ディレクティブと <code>deny from env=</code>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ディレクティブを使用して、サーバへのアクセスを環境変数の値で制御することができます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">SetEnvIf</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ディレクティブと組み合わせることで、クライアントの特性に基づいて
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes サーバへのアクセス制御を柔軟に行なうことができるようになります。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes たとえば、これらのディレクティブを使用して、特定のブラウザ (User-Agent)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes からのアクセスを拒否することができます。</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p><directive module="mod_log_config">LogFormat</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes を使用することで、環境変数をアクセスログに記録することができます。さらに、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_log_config">CustomLog</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ディレクティブの条件分岐式を使用することで、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 環境変数の値によってリクエストをログに記録するかどうかを決めることができます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">SetEnvIf</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ディレクティブと組み合わせることで、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes どのリクエストをログに記録するかを柔軟に制御することが可能になります。たとえば、
8ffac2c334103c0336602aaede650cb578611151fuankg 違うサブネットのクライアントからのリクエストだけをログに記録する、
8ffac2c334103c0336602aaede650cb578611151fuankg という選択が可能です。</p>
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes <p><directive module="mod_headers">Header</directive>
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes ディレクティブは環境変数の存在や不在によってクライアントへの応答に特定の
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg HTTP ヘッダを付けるかどうかを決めることができます。
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes これにより、たとえば、クライアントからのリクエスト
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg にあるヘッダがある場合にのみ特定の応答ヘッダを送る、というようなことが
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg <p><directive module="mod_ext_filter">ExtFilterDefine</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ディレクティブを使用して
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <code>disableenv=</code> と <code>enableenv=</code>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes オプションを使って、環境変数による条件付き適用ができます。</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p><directive module="mod_rewrite">RewriteCond</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes の書き換えエンジンが環境変数に基いて条件分岐を行なうことができます。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes mod_rewrite が使用可能な変数で <code>ENV:</code> が前についていない変数は、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes 実際は環境変数ではないということに注意してください。
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg それらは他のモジュールからは使用できない mod_rewrite 用の特別な変数です。
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>互換性の問題を解決するために、特定のクライアントと通信しているときは
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes Apache の動作を変更できる機構が導入されました。できるだけ柔軟にするために、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes これらの機構は環境変数を定義することで呼び出されます。普通は、
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <directive module="mod_setenvif">BrowserMatch</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes >SetEnv</directive> ディレクティブや <directive module="mod_env"
<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