最近、エントリーが増えてきたのでカテゴリーごとに表示すると長ったらしいページになってしまっていたので、ページ分割をやってみました。
しかし、その前にhtmlファイルをphp化しなきゃいけない・・・ってんでどうにも腰が重かったんですが。
やってみたら簡単でした。(汗)
先ずファイルのphp化。
これはテンプレート→インデックステンプレートから出力ファイル名を
index.html→index.php
archives.html→archives.php
にして「ウェブログの設定」→「設定」→「アーカイブの設定」でアーカイブファイルの拡張子を「php」にしてリビルド。
これで完了です。
で、古いhtmlファイルを削除すればいいのですが・・・。
そうすると、検索(Google)等で飛んできた人には404エラー(File not found)が出ちゃうんですなぁ。
その対処策として、.htaccessでリダイレクトさせるというのがいろいろなサイトで紹介されていて一般的な方法のようです。
Redirect permanent /archives/xxx.html http://blackdog.7days.tv/inubl/archives/yyy.php
というのを個別ファイルごとに書くのですが、170ぐらいのエントリーがあるのでいちいち書いていては面倒です。
そこで下記のような方法が紹介されていました。
テンプレート→インデックステンプレートから『新しいインデックステンプレートを作る』を選びます。
名前は何でもいいので僕はhogeにしました。
出力ファイル名はhoge.phpにします。
テンプレートの中身は以下のようにします。
<MTArchiveList archive_type=”Individual”>Redirect permanent /archives/<MTEntries><$MTEntryID pad=”1″$>.html</MTEntries> <$MTBlogURL$>archives/<$MTArchiveDate format=”%Y/%m/%d_%H%M”$><MTEntries><$MTEntryKeywords dirify=”1″$>.php</MTEntries>
</MTArchiveList>
『インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する 』にチェックを入れリビルドします。
出来上がったhoge.phpファイルを見ると、ファイル名がズラーっと並んでいるので、これを.htaccessにコピー→アップロード。
これで、古いhtmlファイルにアクセスがあった場合でも新しいphpファイルに飛ぶはずだったんですが・・・。
404エラー続発。(涙)
なんだかんだやってみても全然飛ばない・・・。
で、.htaccessをよーく見ていたら、元のhtmlファイル名が000120.htmlとかになってる。
うちの場合、ほとんどのファイルがpost_120とかいう名前がついてる。
あるいは半角英数をタイトル名に使ったエントリーはそれがファイル名になってる。
要するにバラバラ。
なので、バックアップ用に取っておいたhtmlファイルとphpファイルを見比べて全て手作業で書き換えました。
アホだ。疲れた。
しかし!それでも飛ばない!
あーあ・・・もう限界。。(´;ω;`)
しばらくして、絶対パスの指定ミスだという事に気づきました。
何年HP作ってるんだよ・・・。
次にページ分割です。
プラグインMT Extensions: MTPaginate 1.2.2をダウンロードして、解凍しpluginディレクトリにアップロード。
さらにカテゴリーアーカイブに以下を追加。
<div class=”content”>
<MTPaginate>
<MTPaginateContent max_sections=”8″><MTEntries>
(中略)
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
<div align=”center” class=”paginate”>
<MTPaginateIfMultiplePages>
<$MTPaginateNavigator style=”links” format_all=”All pages” place_all=”after” separator=” | “>
</MTPaginateIfMultiplePages>
</div>
</MTPaginate>
きままにポロポロさんにくわしい事が書かれてますので是非ご参考に。