« 条件付きGETによるサーバー負荷削減 | メイン | MovableTypeの階層をSEOに最適化する »

.htaccessのリダイレクトをMTで半自動作成する方法

サイトをphp化すると、それまでxxx.htmlだったファイルがxxx.phpとなる。そういった場合.htaccessに
RedirectPermanent /xxx.html http://xxx.com/xxx.php
つまり
RedirectPermanent 元URL(相対パス) 転送先URL(絶対パス)
を記述するとリダイレクトにより自動でジャンプしてくれる。
しかし記述するページが100ページなどになると、書くのは面倒である。そういった場合MTは非常に楽。テンプレートをうまく使えば自動でテキストを作成してくれる。
ここで問題はMTが相対パスを吐き出せないことだが、他の記事で紹介しているAbs2Relを利用すればこれも解決。


<$MTEntries lasten="999"$>
RedirectPermanent <$MTEntryLink abs2rel="1"$>.html <$MTEntryLink$>
</MTEntries>

といった具合に設定すれば、自動でテキストが作成される。
あとはこのテキストをダウンロードしてテキストエディタでちょこちょこ直せばよい。
この例なら転送元が.php.htmlとなるのでテキストエディタで.htmlに一斉置換すればよい。
階層を変えたり等の、他のもっと複雑なアドレス変更でもこのテクを応用すれば使えます。