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