ラベル mod_rewrite の投稿を表示しています。 すべての投稿を表示
ラベル mod_rewrite の投稿を表示しています。 すべての投稿を表示

2009年1月13日火曜日

mod_rewriteのデバッグ

書いているうちに何がなんだか分からなくなることが多いmod_rewrite。

そんなにしょっちゅう使うわけでもないし、いじってるうちに動くようになったりとかなりいい加減に使ってましたが、httpd.confをいじってログを吐くようにすれば、どんな風に自分の書いたルールが動作してるかが残るのでデバッグがやりやすくなります。

RewriteLog logs/rewrite.log
RewriteLogLevel 9


RewriteLogLevelは9が最高みたいです。
0にしておけばログが出力されなくなるので、デバッグが終わったら0に戻しておけばOK。

2007年3月6日火曜日

mod_rewriteを使うには「Options FollowSymLinks」が必要

mod_rewriteが必要になったので、apacheを「--enable-rewrite」オプションをつけて再コンパイルした。

これで準備OK。さあ、リライトできるかな・・・

と思ったら、エラーが。

.htaccessに記述したんですが、該当ディレクトリ以下すべてのページで「ページが見つかりません」となってしまう。記述は間違ってないはずなんだけど、どうしてだろう。しばらく色々試してみるも、どれもうまくいかない。

そこでapacheのエラーログを見てみると、

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden

というエラーが出ていた。mod_rewriteを使うディレクトリでは「Options FollowSymLinks」が必要らしい。

さっそくhttpd.confに「Options FollowSymLinks」を追加。gracefulリスタートをかけると、今度は成功!!

何はともあれ、エラーが起こったらまずはログを見ましょう。ということですね。