MovableType: 2008年5月アーカイブ


ブログの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をアップロード、再起動して、古いアドレスを打ち込んでみるとしっかりと移動してくれました。

movabletypeで動かしているサイトのPHP化はいろいろな所でみかけられますが、今までは特にかえるほどのことも無いかな、と感じていました。しかし、エントリー記事も多くなり再構築時にかなり重くなってしまい、その解消の一つとしてサイトをPHP化が挙げられていました。

PHP化については、MovableTypeをPHP化する - Movable Type 備忘録さんで詳しく説明されていて、まさにその"PHP化するメリット"で一番に挙げられています。また、デメリットについても影響は無さそうなので、サーバー移動と一緒にやってみることにしました。

手順

  1. サーバーでphpが動いているか確認。今回xreaのレンタルサーバーなので、問題なし。
  2. ブログの管理画面 -> 設定 -> ブログの設定 -> 公開  にて、"アーカイブの拡張子"を"php"にする。保存。
  3. ブログの管理画面 -> デザイン -> テンプレート -> メインページ にて、"出力ファイル名 "を"index.php"にする。保存。
  4. ブログの管理画面 -> デザイン -> テンプレート -> アーカイブインデックス にて、"出力ファイル名"を"archives.php"にする。保存。
  5. リダイレクションの設定(次のエントリーにて)。
  6. サイト全体を再構築。

あと、古いhtmlファイルの削除や共通部分の外部ファイル化などもありますが、とりあえず、この手順で動くようになりました。

あと、リダイレクションの設定をすることによって、xxx.html でアクセスしてきても、 xxx.php に自動的に移動するようになるはずです。

tetra-blue.net
最近のエントリー

このアーカイブについて

このページには、2008年5月以降に書かれたブログ記事のうちMovableTypeカテゴリに属しているものが含まれています。

前のアーカイブはMovableType: 2008年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Recent Activity