Apache

  (最終更新日:2015.05.13)

mod_rewriteでログ出力をして500エラーを調査する方法

.htaccessでのmod_rewriteが原因で、Internal Server Error 500が発生してしまったときには、mod_rewriteのログを出力するのをおすすめします。実はログ出力ができるんです。

設定方法:やり方は簡単

やり方は簡単です。
Apacheの設定ファイル(httpd.conf)に下記を追記すればOK。

RewriteLog      "/usr/local/apache2/logs/rewrite.log"
RewriteLogLevel 9

ロギングのレベルは0から9までありますが、今回は詳細を全部だす9に設定しています。
調査が終わったらログをOFFにしておくことをお忘れなく。

ちなみに自分の問題は…

ちなみに私が今回ぶちあたったのは、CakePHPの.htaccessで Internal Server Error 500 が発生してしまいました。

1つずつルールを消して確認したところ、『RewriteRule (.*) app/webroot/$1 [L]』の箇所が悪さしているようで。

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

ログ出力をさせてみたところ以下の感じに・・・ 無限ループに突入している感ですね。オーマイガ。

[Wed May 13 11:23:10 2015] [error] [client 172.18.74.18] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://10.0.0.152/

というわけで、mod_rewriteでログ出力をしてInternal Server Error 500を調査する方法でした。

スポンサーリンク
スポンサーリンク

関連記事

  1. Apache

    【凡ミス】Apache2.2系でAliasを指定したら403エラーが出た原因

    Apache2.2.23を使用。下記のようにAlias設定を入…

  2. Apache

    Apacheでreloadとgracefulを試した動きのメモ

    Apacheにおける reload コマンドと graceful コマ…

  3. Apache

    オレオレ証明書(自己証明書)を大急ぎで作る方法

    取り急ぎ1年間(365日)有効なオレオレ証明書を大急ぎ(最短作業)で作…

  4. Apache

    Apacheの実行ユーザー(起動ユーザー)を変更する方法

    Apacheを起動しているユーザーを変更するには httpd.conf…

  5. Apache

    Apache 2.4をソースからインストールする

    Apache 2.4系をソースでインストールする方法です。2.…

  6. Apache

    【解決済】原因は単純ミス‥。Apache+OpenSSLで構築したけどHTTPSに接続できない時

    いや。もうあまりの単純ミスぶりに自分をぶん殴りたいところですが。。。…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. 【NetApp】筐体廃棄前にディスクの完全消去をする手順
  2. 【PostgreSQL】同期レプリケーションモードで起動しな…
  3. Procmail のレシピ:本文で複数の条件(OR条件)を指…
  4. 【Apache】OpenSSL headers not fo…
  5. 【CentOS 7】yum updateがくっそ遅いときに試…
PAGE TOP