- 2004-11-20 (土) 16:58
- MovableType
ちょっとやりたいことがあって、MT全体をPHP化しようと思いました。
しかし、PHP化するとファイルの拡張子を*.phpにしなきゃならないのでURLが変わっちゃいます。
これだとトラックバックやら検索エンジンにの検索結果やらで飛んでくると404FileNotFoundになるという問題が~。
で、いろいろ調べていたわけですが、やはり先駆者はいらっしゃるようです。
やり方としては、旧URLから新URLにぶっ飛ばすような設定を.htaccessに書いておくだけで、その設定をMTに自動生成してもらうテンプレートを作るってわけですね。
まぁ .htaccessが使えないところではどうするんだという話もあるわけですが。
以下 作業メモ
こちらとこちらを参考に作業を進めました。
とりあえず、MTの管理画面→BLOGの設定→ウェブログの設定 でアーカイブファイルの拡張子をphpにしておきます。
で 「アーカイブの設定」で「アーカイブファイルのテンプレート」の欄に書き出したいアーカイブファイルのファイル名を書きます。
私は archives/年/月/日-時分.php というような感じで書き出したかったので 以下のようにしました。
<$MTArchiveDate format=”%Y/%m/%d-%H%M”$><$MTEntryKeywords dirify=”1″$>.php
<$MTEntryKeywords dirify=”1″$> というのは各エントリに設定したキーワードを書き出してくれるようです。
これで archives/2004/11/20-1649.php って感じでファイルが作られるようになりました。
で 次に旧URLから新URLに飛ばす設定をします。
MTの管理画面→Templateの編集→新しい Index Template を作る で以下のテンプレートを作ります。
ファイル名は .htaccess とします。
<MTArchiveList archive_type=”Individual”>
Redirect permanent <MTEntries>/taka/archives/<$MTEntryDate format=”%Y/%m”$>/<$MTEntryID pad=”1″$>.html <$MTBlogURL$>archives/<$MTArchiveDate format=”%Y/%m/%d-%H%M”$>.php</MTEntries>
</MTArchiveList>
として、再構築するとルートに.htaccessというファイルが作られて、中身はこんな感じに
Redirect permanent /archives/2004/11/000120.html http://blog.eternalmiracle.net/taka/archives/2004/11/20-1650.php
これで もともと archives/年/月/エントリのID.htmlとなっていたものから新しいURLに飛ばせるようになります。
- Newer: 4連休 1日目
- Older: メールアカウントなバナー
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://blog.eternalmiracle.net/taka/archives/2004/11/20-165809/trackback
- Listed below are links to weblogs that reference
- MTのPHP化 from eternal miracle blog mode

