PHP化しました
最近ワタシもだんだんとPHPが解るようになってきまして、PHPでなら色々と面白いことができそう→かなり衝動的に、Movable TypeをPHP化しちゃいました。
PHPは「HTMLにスクリプトを埋め込む」型の言語なので、ぶっちゃけた話「ただのHTMLの拡張子をPHPに変更しただけ」でも全然大丈夫→MTなら各ファイルのファイル名や拡張子を任意に指定出来るので、出力ファイルの拡張子を.phpに変更するだけでとりあえずPHP化出来ちゃいます。
で、サーバサイドで処理したいコトがあれば、処理が必要なトコにだけ<?php ?>で囲ってスクリプトを書けばいい→非常にお手軽(^_^)
とりあえずMain IndexはSSI処理のほうが便利なことがあった
ついでにIndividual Archiveのファイル名を変えます。
MTは各種ルールで出力ファイル名を決められる(便利!)のですが、いろいろ思案した末、このサイトでは年月日(%Y%m%d)形式のファイル名を付ける事にしました。これまでのペースから考えるに、今後も1日2エントリー以上の可能性は殆ど無さそうだし(^_^;)
その後の調査の結果、人気記事ランキングMTMostVisitedプラグインが
→Entry ID形式以外のファイル名を受けつけない事が解ったので、年月日形式のファイル名に変更するのを止めました(^_^;)
結局↑ココをhtml→phpに変えただけ。
Individualアーカイブの名前変更に伴うリダイレクトも、htaccessというテンプレートでhtaccess.txtを作成する事で対応。
Redirect permanent /~yas_/<MTEntries><$MTEntryID pad="1"$>.html <$MTBlogURL$><$MTEntryID pad="1"$>.php</MTEntries>
</MTArchiveList>
apacheのマニュアルには上記太字部分を絶対パスと書いててかな〜り悩んだんすけども、試行錯誤を繰り返した結果、この「絶対パス」は
=「apacheのログに残るURI」(=URL-サーバのアドレス)ということみたいでした。apache的にはこれが「絶対パス」なのかな?? Linux的にはフツー違うんすが(^^;)
PHP化したついでにMT Extensions: MTPaginate 1.24を導入してカテゴリアーカイブページを分割します。
導入自体は(情報も多く)あっさり出来たんですが、実際に再構築して愕然。
「うわ。これって長いページをPHPで区切って表示してるだけやん!(>_<;)」
Paginateプラグイン
つまり、ページの重さ自体は同じ…というか、カテゴリアーカイブを折り畳んでたココの場合、むしろカテゴリアーカイブが「重く」なってまして、ちょっと泣きそうになりました。まぁエエけど。
確かにリニアな「折り畳む」方法では100とか200とかのエントリには耐えられないかもしれず、PHPでページ分割したことはユーザビリティ的に無意味ではないと思うんですが…やっぱりとほほ。
予想された事態ではありましたが、各エントリのファイル名が二転三転した→同じエントリが違うファイル名で取得されちゃった→現在Similarity Searchが役に立たなくなってます(^_^;) 「違う名前の同じエントリ」を取得しまくり。何故かスゴク内容が似てるからなぁ(^^;;
こんなことでわざわざbulkfeedsさんにデータベース削除以来を出すのもなんなので、これから1ヶ月程はSimilarity Searchが役に立たないかもしれません。もーし訳ないです。
あと、mt-mostvisited導入後のファイル名変更時は、プラグイン内のファイル拡張子設定も変更をお忘れなく。
ココでは一度「EntryID形式じゃないファイル名」を使っちゃった結果、「ログ中のファイル名がおかしい」とプラグインがエラーを出すようになった→ログから不適合ファイル名を削除するフィルタ処理が要るようになりました。トホホ…(^^;;