【Apache】リライトのログの出力方法と設定方法

2022年4月29日Apache

Apacheでリライトを使う場合、ログを確認したいことがあります。
リライトのログの設定方法と出力の方法を紹介します。

リライトの出力方法

# **** ログの出力 **** 
# rewrite logの出力
<IfVersion < 2.3>
    # version 2.2
    LogLevel warn
    RewriteLogLevel 9
    RewriteLog "C:/MAMP/logs/rewrite.log"
    # Mac,Linux
    # RewriteLog "/Applications/MAMP/logs/rewrite.log"
</IfVersion>
<IfVersion > 2.3>
    # version 2.4
    LogLevel debug rewrite:trace8
</IfVersion>

Apacheのバージョンによって書き換える必要があります。
IfVersionというディレクティブでバージョンを指定できます。

2.2の場合RewriteLogLevelというのが設定できます。
9が最も細かくログが出力される状態です。
その内容が、RewriteLogで指定しているパスに書き込まれます。
Apacheには2.3はありません。
Apache2.4の場合、上の書き方が使えないですが、trace8という書き方で代用できます。
レベルはtrace1 ~ trace8 までで、
trace8が最も細かくログが出力される状態です。
デバックする際にはtrace8に設定します。
それ以外のときは、trace1でいいです。
Apache2.4では出力先は選べないので、apache_error.logに出力されます。

ログファイルの場所の確認の仕方は、【Apache】ログの場所の確認と設定方法を参考にしてみてください。

Apacheのバージョンの確認方法

MAMPを使っている場合、以下のようにServerRootを探します。

#windows
ServerRoot "C:/MAMP/bin/apache"
#Macなど
ServerRoot "/Applications/MAMP/Library"

ServerRootは、Apacheがインストールされているディレクトリと思いましょう。
windowsなら、ServerRootの中のbinの中のhttpd.exeです。
Macなら、ServerRootの中のbinの中のapachectlです。

#windows
C:/MAMP/bin/apache/bin/httpd.exe -v
#Macなど
/Applications/MAMP/Library/bin/apachectl -v

などで確認できます。

Apache

Posted by devsakaso