From: Yoshiki Hayashi -->
)
の前には、SSI の句の一部だと解釈されないようにするために空白を
- 入れてください。要素 (訳注: element) を以下の表に示します。
<!--#
はまとめて一つの
+ 句で、空白をふくんではいけないこと注意してください。
+
+ 要素 (訳注: element) を以下の表に示します。
要素 | 説明 |
---|---|
互換性: | 2.0.34 以降で利用可能 |
このディレクティブは変数が定義されていないにも関わらず
- "echo" されたときに mod_include
+ "echo" されたときに mod_include
が表示する文字列を変更します。
@@ -762,7 +765,7 @@ directive]"
もしそれが設定されていれば、返されるファイルの Last-modified
の
日付をファイルの最終修正時刻にします。それが設定されていないときは、
last-modified の日付は送られません。このビットを設定すると、
- クライアントやプロキシがリクエストをキャッシュできるようになります。
+ クライアントやプロキシがリクエストをキャッシュできるようになります。
#include
するかもしれないものや、各アクセスに対して違う出力を生成する
diff --git a/docs/manual/mod/mod_log_config.html b/docs/manual/mod/mod_log_config.html
index 703f547fbe..f5bd4b451e 100644
--- a/docs/manual/mod/mod_log_config.html
+++ b/docs/manual/mod/mod_log_config.html
@@ -1,3 +1,7 @@
URI: mod_log_config.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: mod_log_config.html.ja.jis
+Content-Language: ja
+Content-type: text/html; charset=ISO-2022-JP
diff --git a/docs/manual/mod/mod_log_config.html.en b/docs/manual/mod/mod_log_config.html.en
index 1fe5a56c0d..0683d77afa 100644
--- a/docs/manual/mod/mod_log_config.html.en
+++ b/docs/manual/mod/mod_log_config.html.en
@@ -21,7 +21,8 @@
Description: | Logging of the requests made to the server | ||||||
---|---|---|---|---|---|---|---|
Status: | Base |
説明: | サーバへのリクエストのロギング |
---|---|
ステータス: | Base |
モジュール識別子: | log_config_module |
ソースファイル: | mod_log_config.c |
+ このモジュールはクライアントのリクエストを柔軟にログ収集する機能を + 提供します。ログはカスタマイズ可能な書式で書かれ、ファイルに直接 + 書いたり、外部プログラムに渡したりすることができます。個々のリクエストを + 特徴に応じてログに書いたり書かなかったりできるように、条件による + ログ収集も提供されています。
+ +このモジュールは三つのディレクティブ提供します:
+ ログファイルを作成するための TransferLog
,
+ 新しい書式を 定義する LogFormat
,
+ ログファイルと 書式を一度に定義する CustomLog
です。
+ 各リクエストが複数回ログ収集されるようにするために
+ TransferLog
ディレクティブと
+ CustomLog
+ ディレクティブは複数回使用することができます。
LogFormat
ディレクティブと
+ CustomLog
+ ディレクティブの書式を指定する引数は文字列です。この文字列を使ってそれぞれの
+ リクエストがログファイルにログ収集されます。その文字列には
+ ログファイルにそのまま
+ 書かれる文字列や、それぞれ改行とタブを現す C 言語
+ 形式の制御文字 "\n" と "\t"
+ とを含めることができます。そのまま出力させたい引用符とバックスラッシュは
+ バックスラッシュでエスケープする必要があります。
リクエストの特徴そのものは "%
"
+ ディレクティブを書式の文字列に書くことで
+ ログ収集されます。"%"
+ ディレクティブはログファイル中では以下のような
+ 値で置換されます:
フォーマット文字列 | +説明 | ||||||
---|---|---|---|---|---|---|---|
%% |
+ パーセント記号 | ||||||
%...a |
+ リモート IP アドレス | ||||||
%...A |
+ ローカル IP アドレス | ||||||
%...B |
+ HTTP ヘッダ以外の送られたバイト数 | ||||||
%...b |
+ HTTP ヘッダ以外の送られたバイト数。CLF 書式。
+ すなわち、1 バイトも送られなかったときは 0 ではなく、
+ '- ' になる | ||||||
%...{Foobar}C |
+ サーバに送られたリクエスト中のクッキー Foobar の値 | ||||||
%...D |
+ リクエストを処理するのにかかった時間、ミリ秒単位 | ||||||
%...{FOOBAR}e |
+ 環境変数 FOOBAR の内容 | ||||||
%...f |
+ ファイル名 | ||||||
%...h |
+ リモートホスト | ||||||
%...H |
+ リクエストプロトコル | ||||||
%...{Foobar}i |
+ サーバに送られたリクエストの Foobar:
+ ヘッダの内容 | ||||||
%...l |
+ (identd からもし提供されていれば) リモートログ名。
+ これは mod_ident がサーバに存在して、
+ IdentityCheck
+ ディレクティブが On に設定されていない限り、
+ - になります。 | ||||||
%...m |
+ リクエストメソッド | ||||||
%...{Foobar}n |
+ 他のモジュールからのメモ Foobar の内容 | ||||||
%...{Foobar}o |
+ 応答の Foobar: ヘッダの内容 | ||||||
%...p |
+ リクエストを扱っているサーバの正式なポート | ||||||
%...P |
+ リクエストを扱った子プロセスのプロセス ID | ||||||
%...{format}P |
+ リクエストを扱ったワーカーのプロセス ID かスレッド ID。
+ format として有効な値は pid と tid
+ | ||||||
%...q |
+ 問い合せ文字列 (存在する場合は前に ? が追加される。
+ そうでない場合は空文字列) | ||||||
%...r |
+ リクエストの最初の行 | ||||||
%...s |
+ ステータス。内部でリダイレクトされたリクエストは、元々の
+ リクエストのステータス --- 最後のステータスは %...>s
+ | ||||||
%...t |
+ 時刻。CLF の時刻の書式 (標準の英語の書式) | ||||||
%...{format}t |
+ format で与えられた書式による時刻。format は
+ strftime (3) の
+ 書式である必要がある。(地域化されている可能性がある) | ||||||
%...T |
+ リクエストを扱うのにかかった時間、秒単位 | ||||||
%...u |
+ リモートユーザ (認証によるもの。ステータス (%s ) が
+ 401 のときは意味がないものである可能性がある)
+ | ||||||
%...U |
+ リクエストされた URL パス。クエリ文字列は含まない | ||||||
%...v |
+ リクエストを扱っているサーバの正式な ServerName | ||||||
%...V |
+ UseCanonicalName の設定によるサーバ名 | ||||||
%...X |
+ 応答が完了したときの接続ステータス:
+
+
(このディレクティブは Apache
+ 1.3 の後期のバージョンでは | ||||||
%...I |
+ リクエストとヘッダを含む、受け取ったバイト数。
+ 0 にはならない。
+ これを使用するためには mod_logio が必要 | ||||||
%...O |
+ ヘッダを含む、送信したバイト数。0 にはならない。
+ これを使用するためには mod_logio が必要 |
"..." は何もないか (例えば、
+ "%h %u %r %s %b"
のように)、
+ その項目を含めるかどうかの条件 (もし条件に合わなかったときは
+ その項目は "-" になります) にすることができます。条件の形式は
+ HTTP ステータスコードのリストで、前に "!" を付けることもできます。
+ ですから、"%400,501{User-agent}i" は 400 エラーと 501 エラー
+ (Bad Request と Not Implemented) のときのみ User-agent:
+ をログ収集します。
+ "%!200,304,302{Referer}i" は普通のステータスを返さなかった
+ すべてのリクエストで Referer:
をログ収集します。
httpd 2.0 の 1.3.25 より前のバージョンでは、
+ %...r
, %...i
,
+ %...o
の文字列は
+ エスケープされていなかったことに
+ 注意してください。これは主に Common Log Format からの要求によるものです。
+ これは、クライアントがログに制御文字を挿入することができるということで、
+ 生のログファイルを扱うときには非常に注意が必要でした。
セキュリティ上の理由により 2.0.46 より印字不可能な文字と
+ 他の特別な文字は、ほとんど \xhh
という
+ 文字列でエスケープされるようになりました。ここで、hh は
+ そのままのバイトの値の 16 進での値です。この規則の例外には、
+ バックスラッシュを使ってエスケープされる "
と \
と、
+ C 形式の表記法が使われる空白文字 (\n
, \t
など) が
+ あります。
よく使われるフォーマット文字列は:
+ +"%h %l %u %t \"%r\" %>s %b"
"%v %h %l %u %t \"%r\" %>s %b"
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
+ \"%{User-agent}i\""
"%{Referer}i -> %U"
"%{User-agent}i"
%v
と %p
にはそれぞれ、
+ リクエストを扱っているサーバの正規化された
+ ServerName
と Listen
が使われるということに注意してください。
+ これは UseCanonicalName
の
+ 設定に関わらず、常にそうなります。そうしないとどの
+ ホストが実際にリクエストを扱ったのかを知るために、
+ ログ解析プログラムがバーチャルホストのマッチングをとるアルゴリズム全体を
+ 再実装しなければならなくなるからです。
ログファイルが保存されているディレクトリがサーバを起動した以外のユーザで + 書き込み可能なときにセキュリティの問題が発生する理由の詳細はセキュリティのこつ + を参照してください。
+説明: | クッキングのロギングのためのファイル名を設定する |
---|---|
構文: | CookieLog filename |
コンテキスト: | サーバ設定ファイル, バーチャルホスト |
ステータス: | Base |
モジュール: | mod_log_config |
互換性: | このディレクティブは非推奨 |
CookieLog
+ ディレクティブはクッキーのロギングのためのファイル名を
+ 設定します。filename は ServerRoot
+ からの相対パスです。このディレクティブは mod_cookies
との互換性のためだけに
+ 存在し、使用は推奨されていません。
説明: | ログファイルの名前と書式を設定する |
---|---|
構文: | CustomLog file|pipe
+format|nickname
+[env=[!]environment-variable] |
コンテキスト: | サーバ設定ファイル, バーチャルホスト |
ステータス: | Base |
モジュール: | mod_log_config |
CustomLog
ディレクティブはサーバへのリクエストを
+ ログ収集するために使われます。ログの書式が指定され、
+ 環境変数を使ってロギングが条件に応じて行なわれるようにすることもできます。
ログが書かれる場所を指定する最初の引数は以下の二つの形式の値を + とることができます:
+ +ServerRoot
+ からの相対パスで表されるファイル名。|
" と、その後に標準入力からログの
+ 情報を受けとるプログラムへのパスが続いたもの。
+
+ もしプログラムが使用された場合、 + httpd が起動されたユーザとして実行されます。これはサーバが + root によって起動された場合は root になります。プログラムが + 安全であるように留意してください。
+Unix でないプラットフォームでファイルのパスを入力しているときは、 + 使用しているプラットフォームがバックスラッシュの使用を許可していた + として、通常のスラッシュだけを使うように気をつけてください。 + 一般的に、設定ファイル中では常に普通のスラッシュのみを使うようにする + 方が良いです。
+二つめの引数はログファイルに何が書かれるかを指定します。
+ 前にある LogFormat
ディレクティブにより
+ 定義された nickname か、ログの書式
+ のところで説明されている、明示的な format 文字列の
+ どちらかを指定することができます。
例えば、以下の二つのディレクティブ群は全く同じ効果をもたらします:
+ +
+ # CustomLog with format nickname
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+
+ # CustomLog with explicit format string
+ CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b"
+
三つ目の引数は省略可能で、サーバの環境にある変数があるかないかに
+ 応じてリクエストをログ収集するかどうかを制御するために使うことができます。
+ 指定された環境変数がリクエストに対して
+ 設定されていた場合 ('env=!name
' 文が使われたときは
+ 設定されていない場合)、リクエストがログ収集されます。
環境変数は mod_setenvif
モジュールと
+ mod_rewrite
モジュールの両方もしくは
+ 片方を用いてリクエストごとに設定することができます。
+ 例えば、サーバにあるすべての GIF 画像へのリクエストを別のログファイル
+ には記録したいけれど、メインログには記録したくない、というときは
+ 以下のものを使うことができます:
+ SetEnvIf Request_URI \.gif$ gif-image
+ CustomLog gif-requests.log common env=gif-image
+ CustomLog nongif-requests.log common env=!gif-image
+
説明: | ログファイルで使用する書式を設定する |
---|---|
構文: | LogFormat format|nickname
+[nickname] |
デフォルト: | LogFormat "%h %l %u %t \"%r\" %>s %b" |
コンテキスト: | サーバ設定ファイル, バーチャルホスト |
ステータス: | Base |
モジュール: | mod_log_config |
このディレクティブはアクセスログファイルの書式を指定します。
+ +LogFormat
ディレクティブは二つの形式のどちらかを
+ とることができます。最初の形式では一つの引数のみが指定され、
+ 続く TransferLog
+ で指定されたログで使われるログの書式を設定します。この単独の引数では
+ 上のカスタムログ書式で説明されているように
+ format を明示的に指定することができます。
+ もしくは、下で説明されているように前に LogFormat
+ ディレクティブで定義されたログの書式を nicknameを使って
+ 参照することもできます。
LogFormat
ディレクティブの二つめの形式は
+ format に nickname を与えます。
+ フォーマット文字列全体を再び書くかわりに、
+ この nickname を続きの LogFormat
ディレクティブや
+ CustomLog
ディレクティブで使うことができます。
+ Nickname を定義する LogFormat
ディレクティブは
+ 他には何もしません -- すなわち、ニックネームを定義
+ するだけで、実際に書式を適用してデフォルトにするということは行ないません。
+ ですから、これは続く TransferLog
+ ディレクティブには影響を与えません。
+ さらに、LogFormat
ディレクティブは既存の nickname を
+ 使って別の nickname を定義することはできません。Nickname には
+ パーセント記号 (%
) が含まれていてはいけないことにも注意
+ してください。
+ LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common
+
説明: | ログファイルの位置を指定 |
---|---|
構文: | TransferLog file|pipe |
コンテキスト: | サーバ設定ファイル, バーチャルホスト |
ステータス: | Base |
モジュール: | mod_log_config |
このディレクティブは、ログ書式を直接指定できないことと、
+ 条件付きロギングが無いことを除くと、CustomLog
と全く同じ引数と効果があります。
+ 直接ログ書式を指定する代わりに、ログの書式はそこまでで一番最後に指定された
+ ニックネームを定義しない
+ LogFormat
ディレクティブ
+ で定義されたものを使います。
+ もし他の書式が全く指定されていないときは Common Log Format
+ が使われます。
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
+ TransferLog logs/access_log
+
説明: | リクエスト毎に入力バイト数と出力バイト数とをロギング |
---|---|
ステータス: | Base |
ステータス: | Extension |
モジュール識別子: | logio_module |
ソースファイル: | mod_logio.c |
Content-MD5
HTTP 応答ヘッダの生成を有効にするmime.types
ファイルの位置