2004年5月25日

MTのPHP化

MTの全頁をPHPに移行した。PHPについての知識はほとんど皆無であるが、将来的には便利そうだし、移行するのであればできるだけ早いほうがいい。と言うことで本日実行に移した。

調べたところ、PHP化の利点としては、処理速度が若干速くなる、サイトをモジュール化してincludeを使うことで修正・Rebuildを効率化・高速化できる、ということ。また、これが実は一番実用的かもしれないが、サーバの引越しをした際に、permalinkのファイル名をそのまま残すことができる、という点。

PHP化については多くの人が行っており、参考になるサイトもいっぱいあったのだが、今回主に参考にさえていただいたのは以下のサイト。

http://cross-breed.com/archives/200401251333.php
http://www.zakimi.com/archives/2003/10/29/114543.php

例によって備忘録的に、俺が行った操作を書き留めておく。といっても操作自体は非常に簡単であった。MTの英語版を使用しているので、項目名などは英語のままで表記している。

1.「index.html」と「archive.html」のPHP化

MT設定画面の「Templete」から「index.html」を開き、Output File名を「index.php」に変えて保存。archive.htmlに対しても同様の操作。

2.Archive Fileの拡張子をPHP化

「WEBLOG CONFIG→Preferencial」のArchive Preferencesにて「File Extension for Archive Files」という項目を「php」にして保存。

3.Individual Archiveのファイル名を変更

デフォルトのままだと、Individual Archiveのファイル名は連番となっている。これだと引越しをしたときにまたファイル名が変わってしまって、リンクを貼っている場合などに不便だ。なので、カスタマイズする。今回は「2004」というディレクトリを作り、その下に日付と時間が含まれるファイル名をつけることにした。例えば、「2004/0525_2315.php」という具合(月日_時間.php)。

方法は、「WEBLOG CONFIG→Archive Files」を開いて、「Archive File Template」の欄に「<$MTArchiveDate format="%Y/%m%d_%H%M"$>.php」を入力して保存。内容は好みで変更できる。

全てをRebuildする。これでPHP化は終了。自サイトのindex.phpを開いてみてうまく開けば成功。あとはFTPなりでサーバにアクセスし、不要なhtmlファイルを消す。index.htmlが残っていると、index.phpよりも先にそっちを読みこんでしまうので、消しておく。

4..htaccessでRedirect

以上で、ファイルは全てPHP化されたわけであるが、Googleなどのロボットにキャッシュされている昔のhtmlファイルを開こうとした人は、ファイルがないので開くことができない。そこで、.htaccessを使ってリダイレクトする。この方法に関しては、次のサイトが丁寧で参考になった。

http://nakayoshikoyoshi.main.jp/cgi/archives/000689.php

上記のサイトで紹介されているように、htaccess.phpという、.htaccessに書き込む内容を書き出してくれるテンプレートを用意し、その内容をエディタで保存して、サーバに送る、という戦法をとる。

まず、新しいテンプレートを作る。名前はhtaccess、Output File名はhtaccess.phpとした。テンプレートの中身は、これもIndividual Archiveの名前の付け方によって異なるのだが、俺の場合のテンプレートを紹介しておく。

<MTArchiveList archive_type="Individual">
Redirect permanent /blog/archives/<MTEntries><$MTEntryID pad="1"$>.html</MTEntries>
<$MTBlogURL$>blog/archives/<$MTArchiveDate format="%Y"$>/<MTEntries><$MTArchiveDate format="%m%d_%H%M"$>.php<br></MTEntries>
</MTArchiveList>

注意点は「Redirect permanent…」の行のディレクトリ名は、public_html以下のパスを/から始める形で書く。Redirectされるファイルがあるところである。また、その下にはRedirectされる先のディレクトリである。俺は2004というディレクトリの下にIndividual Archiveのファイルを置くことにしたので、

<$MTBlogURL$>blog/archives/<$MTArchiveDate format="%Y"$>/<MTEntries><$MTArchiveDate format="%m%d_%H%M"$>.php<br></MTEntries>

上記のような形にして、Redirectされるファイル名も、月日_時間.phpという形にした。

これを保存してRebuildすると、index.phpがあるディレクトリにhtaccess.phpというファイルができているので、中身を確認してみる。Redirectされるファイル名とされた後のファイル名、それにそれらのパスが正しく書かれていたらOK。また、必要のないところに半角スペースなどが入っていると、Internal Server Errorとなって、全てのサイトを見れなくなってしまうので、正確に書かれているか確認する(俺は半角スペースが入っていたために表示できず、悩んだ)。

htaccess.phpの内容を全てエディタなどに落として、「.htaccess.txt」と名前をつける。それをサーバにアップする。サーバのMTのindex.phpが置かれている場所にアップし、ファイル名を「.htaccess」に変更する。

これで設定終了。昔のIndividual Archiveのファイル名にアクセスしてみて、うまくPHP化したファイルに転送されればOK。


以上で、PHP化作業終了。同じ作業をモブログに対しても行った。モブログに関しては、最新の写真をSSIのincludeを使ってメインのWeblogに呼び出していたのだが、PHP化したのでPHPのincludeに書き換えた(now.htmlはnow.phpに移行した後)。

<?php include("./moblog/now.php"); ?>

今後はサイトのモジュール化にも着手する予定。

トラックバックURL

このエントリーのトラックバックURL:
http://krbys.net/cgi-bin/mt4/mt-tb.cgi/104

トラックバック

» MTのPHP化&サイドメニューの開閉 from homo-faber BLOG
 実はcross-breedさんとこ見ていてメールフォームやその他がtopページ上で開いたり閉じたりすることができていて、自分のとこも是非導入したいと思っていました。  で、ここ数日結構い... 続きを読む

» php²½ from Æü¡¹¤Î¥á¥â¤ò¤Ä¤é¤Ä¤é¤È
html/css¤ÎÃ챤â˳¤·¤¤¾õÂÖ¤Ç2ÆüÁ°¤Ë½é¤á¤ÆÀßÃÖ¤·¤¿Movable Type¤À¤¬¡¢ ¥µ¥¤¥È¤Î¥Ç¥¶¥¤¥ó¤òÊѹ¹¤·¤è¤¦¤È¤¢¤Á¤³¤ÁÄ´¤Ù¤Æ¤¤¤ëÆâ¤Ë¡¢php²½¤È¤¤¤¦¤â¤Î¤òÃΤä¿¡£ ²¿¤ä¤éÊØÍø¤Ê»ö¤¬Â¿¤½¤¦¤Ê¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¤¦¤Á¤Î¥µ¥¤¥È¤Ç¤â¤ä¤Ã¤Æ¤ß¤¿¡£ ʬ¤«¤é¤Ê¤¤¤³¤È¤â¤¿¤¯¤µ¤ó¤¢¤ë¤¬¡¢Ä´¤... 続きを読む

» PHP化+MovableType3.0へアップデート。 from pebbleinsky's blog
周りを見た限りでは問題なさそうなので、このブログもMT2.661からMT3.0に... 続きを読む

» PHP化完了 from --- hitsuji weblog ---
いやはやすごい台風でした。瞬間最大風速50.5mだったと。しかし、体感的にはそれ以上ありましたよ。精神的にクタクタになりました。 そんな台風が接近する中、PHP化に専念していました... 続きを読む

» とりあえず忘れないように from 眠る陰陽さん + Blog Page +
いろいろデザインとかを考えながら試して行ってるんだけど、 結局どれを採用したのか... 続きを読む

» PHP化 from Pekori
知識もないくせに、なぜかPHP化(〇o〇;) 参考にしたページは http://... 続きを読む

» Movable Type矗�HP粨� from 遠恋/同棲/結婚→LCM節約工房
... 続きを読む

» Movable Type矗�HP粨�Bh!�析�( from 遠恋/同棲/結婚→LCM節約工房
... 続きを読む

» アーカイブのプルダウン化 from browneyes
元々ごちゃごちゃとしたサイドメニューに変更がある度に、各インデックステンプレートやアーカイブテンプレート丸ごと再構築、というのが嫌で、大概のサイドメニューを細かくインデ... 続きを読む

» MTのPHP化 from *acoustic
PHPなんてさっぱりの私ですが、多くのMTユーザーさんがPHPに移行されているの... 続きを読む

コメント

ついでにカウンターもPHPでかかれたものをincludeするようにした。

はじめまして。

サイトのPHP化について参考にさせていただきました。
どうもありがとうございました。

コメントありがとうございます。

最近は忙しくてMTもあまりいじっていませんが。今後ともこのHPよろしくお願いします。

初めまして。ぺべリンスキーズさんからたどってお邪魔しました。おかげ様で無事PHP化ができました。今ブログの引越し作業中で立ち上げにはまだまだかかりそうなので、現行のブログにリンクさせて頂きました。ありがとうございましたー♪

コメントありがとうございます。PHP化して一番の恩恵は、モジュール化できたことですかね。Rebuildにかかる時間が大幅に削減できます。

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)