Integral

mod_rewrite

処理の順序

ネタはここから。

リクエスト:

/xyz/oldstuff.html

内部処理:

/xyz/oldstuff.html     -> /abc/def/oldstuff.html  (per-server Alias)
/abc/def/oldstuff.html -> /abc/def/newstuff.html  (per-dir    RewriteRule)
/abc/def/newstuff.html -> /xyz/newstuff.html      (per-dir    RewriteBase)
/xyz/newstuff.html     -> /abc/def/newstuff.html  (per-server Alias)

処理結果:

/abc/def/newstuff.html

基本作法

基準となるディレクトリの設定方法(RewriteBase)

  • ベースディレクトリの設定の末尾に、スラッシュは不要。
    RewriteBase /www/michael   --- OK
    RewriteBase /www/michael/  --- NG
  • パターン1
    • エイリアスを設定したフォルダ:/home/アカウント名/www/folder111/folder222
    • スクリプトからみたルートフォルダ:/home/アカウント名/www/folder111/folder222
      RewriteBase /
  • パターン2
    • エイリアスを設定したフォルダ:/home/アカウント名/www/folder111
    • スクリプトからみたルートフォルダ:/home/アカウント名/www/folder111/folder222
      RewriteBase /folder222
  • パターン3
    • エイリアスを設定したフォルダ:/home/アカウント名/www
    • スクリプトからみたルートフォルダ:/home/アカウント名/www/folder111/folder222
      RewriteBase /folder111/folder222

参考記事