web-dev-qa-db-ja.com

Apache2サーバーでログレベルデバッグを有効にする方法

私のerror.logには以下が含まれます:

構成エラーの可能性があるため、要求が10の内部リダイレクトの制限を超えました。必要に応じて、「LimitInternalRecursion」を使用して制限を増やします。 「LogLevel debug」を使用して、バックトレースを取得します。

Apache構成ファイルのログレベルを置き換えました:

LogLevel debug

再起動後、「バックトレース」と呼ばれるものなしで同じエラーメッセージが表示されます。私が理解しているように、mod_rewrite regexによって生成されるリダイレクトの10行があるはずです。

インターネット全体を検索した後、ログレベルとmod_rewriteの説明をたくさん見つけましたが、ログレベルのデバッグを機能させる方法についてのWordは見つかりませんでした。

何か案は?

55
Tiger

古いバージョンのApacheの場合:

Mod_rewriteの問題をデバッグするには、RewriteLogLevelとRewriteLogを使用します。

RewriteLogLevel 3
RewriteLog "/usr/local/var/Apache/logs/rewrite.log"

編集:この答えは3歳以上であることに注意してください。 Apacheの新しいバージョンについては、sp00nによる回答をご覧ください。 Apacheの古いバージョンのユーザーにはこの回答を残してください。

35
bradym

新しいApacheバージョンではRewriteLogおよびRewriteLogLevelが削除されており、Apacheを起動しようとすると実際にエラーをトリガーすることに注意してください(少なくともApache 2.4.2を使用したXAMPPインストールでは)。

AH00526:path/to/config/file.confのxx行で構文エラー:無効なコマンド 'RewriteLog'、サーバー構成に含まれていないモジュールによってスペルミスまたは定義された可能性があります `

代わりに、trace1からtrace8までのレベルで、一般的なLogLevelディレクティブを使用することになりました。 'debug'はログに書き換えメッセージを表示しませんでした。

例:LogLevel warn rewrite:trace3

公式ドキュメントについては、 こちらを参照

もちろん、これはまた、現在、書き換えログが一般的なエラーログファイルに書き込まれることを意味し、自分でそれらを整理する必要があります。

65
sp00n

新しいバージョンではLogLevel rewrite:trace3httpd.confに使用する必要があります http://httpd.Apache.org/docs/2.4/mod/mod_rewrite.html#logging

27
Steely Wing