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

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

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

  2. Apache

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

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

  3. Apache

    【Apache】OpenSSL headers not foundでconfigureが失敗する時

    Apacheをソースからインストールする際に --enable-ssl…

  4. Apache

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

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

  5. Apache

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

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

コメント

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

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

最近の記事

  1. 【Apache】OpenSSL headers not fo…
  2. 【CentOS 7】yum updateがくっそ遅いときに試…
  3. Linux版のTomcat 9でWebアプリケーションマネー…
  4. CentOS 7でTomcat 9の起動スクリプトの作成と自…
  5. Warning: tomcat.service change…
PAGE TOP