友人から聞いていて、やってみようと思っていたPHP化を実行した。
ファイル名を変えると、サーチエンジンから来たり他のサイトからのリンクできた人には、
NotFoundになってしまうのでなかなか手を出せずにいたのだが、
解決方法を紹介しているサイトがあったのでそこを参考に実行してみる。
MovableTypeを攻略せよ!:MTをPHP化してリビルド軽量に?
ARTIFACT ―人工事実― | MovableTypeのページ分割/Permalinkの変更
PHP化自体は以下のようにすれば簡単にできる。
メイン・メニュー > Jay's Room > 設定 > 設定
アーカイブの設定内のアーカイブ・ファイルの拡張子をhtml → phpに変更
メイン・メニュー > Jay's Room > テンプレート
インデックス・テンプレート内の
メインページ index.html → index.php
アーカイブ・ページ archives.html → archives.phpファイル名は
”/MT/archive/2005/10/MovableType_php.php”
の形式にしたいので設定を変更。
メイン・メニュー > Jay's Room > 設定 > アーカイブ
アーカイブ内の
個別エントリーアーカイブ のテンプレートを変更
<$MTEntryDate format="%Y/%m"$>/<$MTEntryKeywords dirify="1"$>.php
ファイル名にキーワードを使うので、すべてのエントリーにキーワードを入力。
これが一番時間がかかった。
移行した先のURLにリダイレクトするように.htaccessに記述すればいいとので、
先に出来るか確認してから実行することにした。
テンプレート > 新しいインデックス・テンプレートを作る で下記の内容のテンプレートを追加、再構築でファイルを生成する。
生成したファイルの内容を.htaccessファイルに追加すればOK。なはずだったのだが…
Redirect permanent /mt/archives/<$MTEntryID pad="1"$>.html <$MTBlogURL$>mt/archives/<$MTArchiveDate format="%Y%m"$>/<$MTEntryKeywords dirify="1"$>.html
私の環境だとファイル名がタイトルから生成されていて、
(設定の ”以前の形式の個別アーカイブへのリンクをつかう”がオンになっている)
この方式だとxxxxx.html → keyword.phpのリダイレクトになってしまって、
私の環境では合わない。
Redirect permanent<$MTEntryLink$> <$MTBlogURL$>archives/<$MTArchiveDate format="%Y/%m"$>/<$MTEntryKeywords dirify="1"$>.php
以上のように変更して、リダイレクトに不要な部分を削除。
.htaccessに追加すればリダイレクトの準備完了。
Redirect permanent http://soph.jp/MT/archives/2005/09/ben_folds.html http://soph.jp/MT/archives/2005/09/ben_folds_japan_tour_2005.php
↓
Redirect permanent /MT/archives/2005/09/ben_folds.html http://soph.jp/MT/archives/2005/09/ben_folds_japan_tour_2005.php
上で書いたPHP化の設定を実行、再構築したら作業完了。
念のため動作確認
http://soph.jp/MT/archives/2005/09/ben_folds.html
次はカテゴリーアーカイブ・ページの分割でもやってみようかな。
追記:PHP化したあとにhtmlファイルを削除しないままにしていたら、
カテゴリページ等の表示の際にhtmlが表示されてしまって、
エントリーが古いままになってしまうということがあった。
php化したら古いファイルは削除するべきだろう。
この記事に対するコメント