mod_rewriteの設定をログで確認する方法

Apacheのmod_rewriteを使って、例えば、メンテナンス画面を出すなどの設定でうまく画面が表示されないとき、指定したルールがどう判定されているか確認する方法です。

(参考)
Apacheのrewritelogの出力方法(Apache2.2とApache2.4で違います)

そのまま引用します。

Apache2.4からはRewriteLogという独立したログはなくなり、

coreモジュールのLoglevelディレクティブを使って指定する方法に変更されました。

出力ファイルは指定できず、他のログと一緒にerror_logに出るようになります。

レベルはtrace1 ~ trace8 までで、数値が大きくなるほど冗長になります。

膨大にログが出て重くなるので、デバッグ以外の目的で trace2 以上を使うのは止めた方がよいです。

設定方法は、Apacheの設定ファイルに記載しますので、CentOSなどの場合は、/etc/httpd/conf/httpd.confもしくは、/etc/httpd/conf.d/XXXX.confなどの設定ファイルに記載してください。

LogLevel debug rewrite:trace8

ログには、以下のような感じで表示されます。

RewriteCond: input='/path/to/access.html' pattern='!=/maintenance.html' => matched

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

おすすめ