[apache] mod_rewriteの内部処理

APIフェーズ

フック名 タイミング
URL-to-filename変換 HTTPリクエスト後、すべての認証の開始前
fixup 認証フェーズ後、.htaccessは読まれたが、contentハンドラは有効になっていない
  • mod_rewriteは、URLをURLへ、URLをファイル名へ、さらにファイル名をファイル名へ書き換える
    • APIではURL-to-filenameフックのみを提供している
  • .htaccessによる書き換えを可能にするために、mod_rewriteは、ファイル名をURLに戻している
    • httpd.confによるURL操作は高速であるのに対し、.htaccessによる書き換えは遅い

ルールセット処理

  • RewriteRuleの書き順は重要。RewriteEngineは、RewriteRuleの上から順にURL書き換えを実行する。

URL書き換え処理の順番

  1. RewriteRuleのパターンマッチ
  2. RewriteCondのパターンマッチ
  3. RewriteRuleに基づく書き換え

参考:http://net-newbie.com/trans/mod_rewrite.html

コメントを残す