サイトを移転した場合に、新しいサイトへ誘導する方法はいろいろありますが、今回はhtacsessを使って、階層が違うところに設置される箇所へのリダイレクト方法です。
具体的なURL
言葉だとイマイチ説明できているか不安ですが、以下の様なリダイレクトです。
- 前:http://hoge.com/2013/05/originalname.html
- 後:http://hoge02.com/category/originalname.html
ドメインとHTMLの名前の間が違います。
実装
方法は「htacsess」に個別ページのURLを全部書きます。
そのままサーバーに自分で書いたhtacsessを置くとなると手作業で途方も無い数ですが、MTのテンプレートタグを使ってしまえば簡単でした。
インデックステンプレートに以下を記述し、「.htacsess」と出力するようにMTを設定します。
<MTEntries lastn="9999">
Redirect 301 /$MTEntryDate format="%Y"$>/<$MTEntryDate format="%m"$>/<mt:EntryBasename />.html http://hoge02.com/<$MTCategoryBasename$>/<mt:EntryBasename />.html
</MTEntries>
これで階層を合わせればリダイレクトしてくれます。
あとがき
最初、階層が一緒だと思いこんでいたので
Redirect 301 /category/ http://hoge02.com/category/
で大丈夫だと思ったのですが、よく見てみたら階層が違うことに気づきました。
もう全部トップページに飛ばすかと諦めていたのですが、MTのテンプレートで吐き出してしまえば、全ページを自分で記述することなくできたのでよかったです。
コメント