ブログのphp化をする際に、それぞれの個別記事やアーカイブなどのアドレスが変わってしまう(xxx.html -> xxx.php)ために、自動的に移動するようにURLのリダイレクションを行いました。
また、MT4.1にアップデートしたときに、何故か以前のMT3.3のバージョンのものが検索サイトからのリンクで表示されることがあり、よく見てみると"_(アンダーバー)"が"-(ハイフン)"に置き換わっていることが解りました。このバグ(?)も今回一緒にURLリダイレクションで解決しようと思います。
具体的な方法
URLリダイレクションを実際には、.htaccessを用いて設定します。この詳しい解説は、
でされていますが、Redirect permanent によりHTTP ステータス 404(Not Found)のデットリンクにならないように、httpステータス301(MovedPermanently)を返すようにしようとしています。
実際の記述としては、
Redirect permanent /weblog/photo/archives/2007/09/post_8.html http://www.tetra-blue.net/weblog/photo/2007/09/post-8.php
Redirect permanentの後に、転送させたいファイルを.htaccessを置くディレクトリからのリンクを記述し、その後に転送させたいURLを書きました。今回は"_"+"html" or "-"+"html" -> "-"+"php" の組み合わせになるように整形しました。
転送するファイルは一つでは無いので、効率的に記述したいところで、いろいろなサイトで工夫がされていますが、今回は見直しが出来るように、自動的に設定させるよりも.htaccessのファイルに全部を記述したもの用意しました。一つ一つ記述するのはとても大変なので、一度MTタグで以下のように、
Redirect permanent x<$MTEntryPermalink$>y <$MTEntryPermalink$>
表示させてから、検索置換などでx,yを含めて整形しました。一つ一つの記事のアドレスごと書かれて出力しているので、異なるブログに移動・統合させたときに細かい整形が出来ました。
これで.htaccessをアップロード、再起動して、古いアドレスを打ち込んでみるとしっかりと移動してくれました。






コメントする