遂にPHPへ

未分類

MySQLへ移行してから丸々1ヶ月以上たってしまいましたが、PHP化への階段をやっと上り始めました。
MovableTypeを攻略せよ!:MTをPHP化してリビルド軽量に?さんには、大変お世話になりました。
どうしてMySQLにした後すぐにチャレンジしないでいたかと言うと、以下の理由があったためです。
【理由1】MovableTypeの仕組みをよく理解していないため、もし今まで書き溜めたデータが飛んでしまった場合、どのように対処したら良いのか検討がつかない。
【理由2】PHP化すると少なくとも拡張子が.phpになるということは、今までGoogleやYahoo!の検索エンジンに登録されていた.htmlの情報が無駄になってしまう。これは避けたい。


それぞれの理由を解決するには、もう一つ壊れても良いブログを立ち上げて、そちらでそれなりに手順等を確認した上で本ブログの移行を行うようにすれば良いという風に考えていたのですが、欲が出てしまって、どうせもう一つブログを立ち上げるなら上手く行った後も使って行けるようなものにしておきたいと思うようになってしまって、なかなか重い腰をあげることができないでいました。
ということで、なかなか決心がつかず放置の状態になっていましたが、遂に新潟のフレッシュ・ウォーター・フィールドを構築し、PHP化にチャレンジしました。
新しいものですから、最初からPHPで作ってしまえば良いのですが【理由2】の対応も具体的に、どんな風にすればよいのかの手順確認の意味も含めてあえて新潟のフレッシュ・ウォーター・フィールドは、ここ(ノン・トラブルで行こう)と同様に.htmlで作成しました。
前述のMovableTypeを攻略せよ!:MTをPHP化してリビルド軽量に?さんの記事をもとに作業を進めました。実際に私が行った手順は以下のとおりです。
手順1 既存テンプレートの拡張子の変更
メインページ:index.html⇒index.php
アーカイブページ:archive.html⇒archive.php
手順2 アーカイブ・ファイル拡張子の変更
[ウェブログの設定]→[設定]にある「アーカイブ・ファイルの拡張子」:html⇒php
※本来は、ここで既に存在しているhtmlファイルを削除してしまって終了らしいのですが、私は「どうせ.phpファイルが作成されるのだから.htmlは色々な確認が済んでから削除しよう」と思って、とりあえずそのままで次の作業を行いました。が、これがハマリの原因でした。手順1と手順2で行ったものは、やった事を元に戻して再構築を行えば、再び.html形式のファイルは作成することができるはずですので、スパッといってしまった方が良かったかもしれません。心配な場合は、バックアップを取っておけば更に安心です。と、言うかこういったことをやる前にバックアップは必須ですね。
手順3 ファイル名を規則正しいものにする対応
通常、意識しないでいるとMovableTypeがエントリー事に名前を作成してくれます。post_****とかアルファベットがタイトルに入っている場合には、そのアルファベットからとか…ちょっと見だとよく分からない名前になっています。
このままにしておくと、サーバが変わった場合などに、それまで頂いていたコメントやトラックバックが全て意味をなさなくなってしまうということで名前付けの規則をコチラでコントロールできるようにしてしまうというのが、PHP化の時の常道らしかったので、私も対応をしました。
[ウェブログの設定]→[アーカイブの設定]のアーカイブの種類が個別の”アーカイブ・ファイルのテンプレート”のところに以下の一文を記述。
<$MTArchiveDate format=”%Y/%m/%d_%H%M%S”$>.php
つまり、archivesディレクトリの下にYYYY/MMディレクトリを作成して、その中にdd_HHMMSS.phpという名前で個別ファイルを作成するようにしたわけです。形式は、formatの部分を変更すれば自由にできます。
ここで私の場合は、はじめて全てを再構築しました。何事もなく再構築が終了しましたので、早速出来上がったものをブラウザ上から確認しました。が、どうもカテゴリーのページが上手く構築されていないようでした。新潟のフレッシュ・ウォーター・フィールドは、その時点で9つのカテゴリが存在していたのですが、どのカテゴリを見ても同じ内容が表示されるようになってしまいました。
当然、この作業をする前の表示はOKだったわけですから、少々慌ててしまいました。が、構築されたディレクトリを覗いていると、archives/.phpというファイルができていて、カテゴリごとの表示をしようとすると、どのカテゴリを選択してもこのファイルを参照しているようでした。
本来ならばarchivesディレクトリの下にそれぞれのカテゴリのディレクトリが作成され、そのなかにindex.html(php化後は、index.php)が作成されなければならないはずなのですが、index.phpファイルができていず前述のarchives/.phpが作成されているといった状況のようでした。
Google等で検索してみたものの、有益な情報を得ることができず困り果てていたのですが、MovableTypeを攻略せよ!:MTをPHP化してリビルド軽量に?さんを再度ジックリと読み返して、.htmlファイルの削除のタイミングが違っていることに気づきました。また、どうせバックアップもとってあるので一気にarchivesフォルダ以下(今考えるとカテゴリ用のフォルダだけでも良かったような気がします)を全て一度削除して、再構築してみました。
この時の再構築の時間が長く感じられたことはありませんでした。もしかしたら、復旧できなのではないか…
私の不安をよそに、再構築は正常に終了し各カテゴリのindex.phpも思ったように作成されたときは、思わずガッツポーズを決めてしまったほどでした。
と、言うことでphp化の一連の手順は確立できたことになりました。まだ【理由2】の解決方法は確立されていませんが、ながくなりましたので次のエントリで、php化に伴う.htaccessの作成を記述します。

今回UPした写真:
野鳥写真 ブログ村素敵な野鳥写真がイッパイあり (^^♪

このページにはコメントできません m(__)m

2004 toshi@ノン・トラブルで行こう