新サイトリダイレクト設定(mod_rewrite)

リニューアルと合わせて、サブドメイン化したサイトへのリダイレクト設定のメモ。

  • 旧サイト要件:
    • モバイルサイトがある(PCサイトURL+/i/)
    • 階層は2階層~3階層
    • TOP、カテゴリTOP以外は.phpで終わる
  • 新サイト要件:
    • モバイルサイトは、PCサイトURL+/i/
    • 階層は1階層
    • TOP、カテゴリページは/のみ
    • 各ページに.phpは付かない

言葉でまとめると、余計にまとまらない気がするけど、こんな感じ。

で、mod_rewriteでやろうとして、大きくハマった。

  • RewriteRule ^/… 形式で書くと一切動作しない
  • RewriteRule …(先頭^なし) 形式で書くと問題なく動作する

 

ちょっと不思議な動作だけど、その結果・・・こうなりました。

 


# loto6

RewriteEngine on

RewriteRule loto6/i/$ http://loto6.thekyo.jp/i/ [R=301,L]

RewriteRule loto6/i$ http://loto6.thekyo.jp/i/ [R=301,L]

RewriteEngine on

RewriteRule loto6/(.+)/(.+)\.php$ http://loto6.thekyo.jp/$1/$2 [R=301,L]

RewriteEngine on

RewriteRule loto6/(.+)/$ http://loto6.thekyo.jp/$1 [R=301,L]

RewriteEngine on

RewriteRule loto6/$ http://loto6.thekyo.jp/ [R=301,L]

RewriteRule loto6$ http://loto6.thekyo.jp/ [R=301,L]

 

# miniloto

RewriteEngine on

RewriteRule miniloto/i/$ http://miniloto.thekyo.jp/i/ [R=301,L]

RewriteRule miniloto/i$ http://miniloto.thekyo.jp/i/ [R=301,L]

RewriteEngine on

RewriteRule miniloto/(.+)/(.+)\.php$ http://miniloto.thekyo.jp/$1/$2 [R=301,L]

RewriteEngine on

RewriteRule miniloto/(.+)/$ http://miniloto.thekyo.jp/$1 [R=301,L]

RewriteEngine on

RewriteRule miniloto/$ http://miniloto.thekyo.jp/ [R=301,L]

RewriteRule miniloto$ http://miniloto.thekyo.jp/ [R=301,L]

 

ざっと見た感じでは、うまく動作している様子。