-------
* mod_rewrite
RewriteRule ^/hoge([\/]*)$ /hoge.php [L]
* httpリクエスト結果
GET /hoge
200 ok
* error_log(apache)
File does not exist: /var/www/html/hoge
-----------
まずは実際に正常に表示されている(ように見える?)アクセスとそのエラーログが同じタイミングで出ているかを確認しましょう。
これは、access_log (apache) と error_log (apache) のタイムスタンプを見比べればわかるはずです。
その時点で予期していないアクセスが記録されているようならそれも控えます。
上記で一致しているようなら、mod_rewrite 自体のログを確認します。
RewriteLog logs/rewrite_log RewriteLogLevel 3
などとすればどういう挙動をしているかが詳細にわかります。
ただし、RewriteLog はかなりの量になるので実運用サーバーでいきなり試すのはお勧めしません。
できれば試験用サーバーを別途立てるか、LogLevel 1 から順番に上げていって様子を見ることをお勧めします。
コメント(0件)