PHP化とページ分割。
カテゴリアーカイブと月別アーカイブはさくっとできたのですが、個別アーカイブをPHP化するのには、かなーりてこずりました。もう駄目かと思ったよー。orz
さてさて、その手順をメモメモ。
カテゴリアーカイブと月別アーカイブのPHP化及びページ分割は、例によって 小粋空間 さんの ●カテゴリーアーカイブと月別アーカイブのページ分割 を参照しました。
ありがとうございました。^^
- ページ分割を行うためのプラグイン:MTPaginate 1.24を MT Extensions よりDL。(ページの上の方のDownloadより)
- 解凍してできた MTPaginate.pl を MT のプラグインフォルダへアップロード。
- MTの管理者画面から、アーカイブの設定を変更。
『ウエェブログの設定』⇒『アーカイブの設定』を開き、 Date-Based Archive のアーカイブ・ファイルのテンプレートの部分に <$MTArchiveDate format="%Y_%m"$>.php Category Archive アーカイブ・ファイルのテンプレートの部分に cat_<$MTArchiveCategory dirify="1"$>.php を設定し保存。
ここまでできたらほぼOKで、後は下記のようにページ番号の設定を各テンプレートに行い完了。(青字部分を追加)
<div class="blog">
<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>
</div>
上記で、スタイル設定のための”paginate”というクラスが付与されているので、下のようにスタイルシートに追加して見映えを整えます。
.paginate {
font-family: Verdana, Arial, sans-serif;
color:#666666;
font-size:9px;
}
さあ、ここまでは何なくできましたね、みなさん。(笑)
続いて、個別アーカイブもPHP化しちゃいます。
個別アーカイブのPHP化で一番大きな問題は、個別エントリーのURLが変わってしまうということ。
つまり、トラックバックを受けたエントリーのURLが変わるので、そいつをクリックしてページへ飛んできた人に404エラーを見せてしまうということなんすよねー。それだけじゃなくて、検索エンジンに拾われたURLも同じ状態になってしまう。。。
まぁ、カテゴリアーカイブや月別アーカイブに関しても同じことなんですけど、こっちはまだ実害が少ないので良しなんですがね。(笑)
で、そいつを回避する方法として、htaccessファイルを使用する方法があります。
つまり、無理やりリダイレクトさせてしまうと言うことですね。
以下、そのやり方も含めて個別アーカイブのPHP化メモメモ。
CROSSBREED さんの MTのPHP化とページ分割 というエントリーと、pebbleinsky’s blog さんの PHP化+MovableType3.0へアップデート。 というエントリーを参照させていただきました。
ありがとうございました。m(__)m
- MT管理画面のテンプレートの編集からMainIndexとMasterArchiveIndexを開き、出力ファイル名をそれぞれIndex.phpとarchives.phpに変更して保存。
- 『BLOGの設定』⇒『ウェブログの設定』内のアーカイブファイルの拡張子をPHPにして保存。
- 『BLOGの設定』⇒『アーカイブの設定』内のIndividualの欄に<$MTArchiveDate format="%Y/%m/%d_%H%M"$>.phpと入力して保存。
※注意※
絶対にここで再構築を行わないでください。ここで再構築を行ってしまうと、リダイレクト設定のための元のファイル名が変わってしまいます。
続いてhtaccessファイルを作成します。
- MTの管理画面より『テンプレート』⇒『新しいインデックス・テンプレ・・・』をクリックし、以下のようなテンプレートを作ります。
・テンプレートの名前htaccess(任意の名前でもOK)
・出力ファイル名
htaccess.php
・テンプレートの中身(青字部分はそれぞれの環境によって変わってきます。)
<MTArchiveList archive_type="Individual">
Redirect permanent /blog/archives/<$MTArchiveDate format="%Y/%m"$>/<MTEntries><$MTEntryPermalink$></MTEntries> <$MTBlogURL$>archives/<$MTArchiveDate format="%Y/%m/%d_%H%M"$><MTEntries><$MTEntryKeywords dirify="1"$>.php</MTEntries>
</MTArchiveList>
オリジナルでは、<$MTEntryPermalink$>が<$MTEntryID pad="1"$>.htmlとなってり、最初、こいつをそのまんま使ったのですが、全然うまくいきませんでした。なので、無理やり<$MTEntryPermalink$>タグを使って、ダイレクトにURLを生成させ、エディタで若干の修正を行うようにしました。 - ここで全てを再構築します。
index.phpを見ることが出来たら、アーカイブのPHP化は完了です。
後は、MTのディレクトリに生成された htaccess.php ファイルを適当なエディタで開いて中身を確認。
私が上記で作成したテンプレートの内容だと、パーマリンクから生成しているので余計なURLの文字列が入ってしまうので、こいつを削除して修正を行いました。
もっとうまいやり方があるんでしょうけど、何分にもスキルが無いのでなるたけオリジナルを変更しませんでした。腕に自身のある方はもっとうまくやれると思います。
私の場合、ここでかなーりつまづきました。(苦笑)
これで、個別エントリーのリダイレクト設定がされたので、後は手書きでカテゴリアーカイブと月別アーカイブのリダイレクト設定を挿入。
こんな感じ。
▽個別エントリーのリダイレクト▽
Redirect permanent /blog/archives/2004/09/a1402sa1402s.html http://www.garaku.cc/blog/archives/2004/09/24_1632.php
Redirect permanent /blog/archives/2004/09/_srank.html http://www.garaku.cc/blog/archives/2004/09/24_1020.php
:
:
:
▽カテゴリアーカイブのリダイレクト▽
Redirect permanent /blog/archives/01/index.html http://www.garaku.cc/blog/archives/01.php
Redirect permanent /blog/archives/02/index.html http://www.garaku.cc/blog/archives/02.php
Redirect permanent /blog/archives/03/index.html http://www.garaku.cc/blog/archives/03.php
:
:
:
▽月別アーカイブのリダイレクト▽
Redirect permanent /blog/archives/2004/01/index.html http://www.garaku.cc/blog/archives/2004_01.php
Redirect permanent /blog/archives/2004/02/index.html http://www.garaku.cc/blog/archives/2004_02.php
Redirect permanent /blog/archives/2004/03/index.html http://www.garaku.cc/blog/archives/2004_03.php
:
:
:
修正が終わったら、ファイル名を .htaccess へリネームし終了。
以上っす。
何だかわかりにくくてすんません。(汗)
Related Posts




(66)
66 Responses
TrackBack URL for this entry:

















カテゴリ、月別アーカイブのページ分割
疲れた。やっとうまく行った。参照したのは、
小粋空間: カテゴリーアーカイブと月…
PHPにしてみる。
最近、周りの方々がPHPにしてるので
初期状態から、あまりいじりたくないけど
ん…
php化完了
やっとできました。
つぅか、ずっとやっときたかったのに見栄えのほうに気をとられて…
phpのページ分割
我楽さんの「PHP化とページ分割。」を参考に、カテゴリーアーカイブと、マンスリー…
MT3.1 php化 個別アーカーブ編
昨日の夜、こちらのエントリーをしたのですが、詳細を書いていないので、備忘録&次に…
htmlをphpに。そしてページ分割してみる。
他のMTを拝見した時に、URLの最後がhtmlじゃなくてphpだったりする場合が…
カテゴリーアーカイブと月別アーカイブのページ分割
カテゴリーアーカイブはすぐにできました。 でも、月別のphp化が最初うまくできて…
ページ分割
久々にMTのカスタマイズをした。今日やったのはアーカイブページの分割。参考サイト我楽: PHP化とページ分割。 以前にやろうとしたときは敷居が高くてなんかう…
PHP化とページ分割
前からページ分割をやりたかったんだけど
それをやるにはPHP化しなくてはできな…
カテゴリアーカイブをページ分割してみました
カテゴリアーカイブをページ分割してみました。参考にさせて頂いたのはこちらです。 …
移行しました。
見た目は変化ありませんが、MT3日本語版への移行が完了いたしました。 実は昨日にはもうなってた。 あとphp化したりパーツをモジュール化したりもして、再構築…
PHP化:MT3.151+MySQL
PHP化すると便利なプラグインが使えたりするので、やってみることに。たくさん情報があるので困らないと思ってましたが、少しハマりました。 参考にさせていただいたサ…
ページのphp化
エントリーがかなり多くなってきたので、ページ分けというのをしたいなぁと思っていろ…
【覚書】エントリのURL変更
将来的にレンタルサーバの借り換えを目論んでいるので、 再構築をかけてもURLが変…
MiniBBSを設置の巻
あちらこちらのブログにある、MiniBBS(呼称については、とりあえずこれで通させてください。)を設置したいと思いながらも、CGIを探すかどうしようかとあれこれ…
PHP化参考ブログ
http://cross-breed.com/archives/2004012...
PHP化
なんだかこのままエントリーが増えていくと、どんどん再構築に時間がかかるようになる…
つ、疲れたo_ _)oバタッ
今日は、DBをMySQLに移行と、PHP化とページ分割をしてみました。 MySQ…
カテゴリーアーカイブと月別アーカイブのページ分割
以前から気になっていたのですが、カテゴリーアーカイブの表示で、エントリー数が増え…
カテゴリーアーカイブと月別アーカイブのページ分割
以前から気になっていたのですが、カテゴリーアーカイブの表示で、エントリー数が増え…
ページ分割
カテゴリーのページ分割、ブログをphp化したときにプラグインは用意していたのです…
あとちょっとなの?
久々に頭から火を噴きそうでしたorz ページ分割ってのと、php化はどうやら出来…
ページ分割覚え書き
以前カテゴリー別アーカイブでページ分割をしたのですが、今回は全コメント表示ページ…
お引越し作業中
ここ数日集中してPCの前にいるので
PCから離れると一気に気が緩んで危険です。
車乗っててもボーっとしてるし。
まぁその理由っていうのが
ここでも何…
分割をやろう。
異常に多い、TEAM-NACS関連のエントリー。 どうにかしようと思いページ分割…
Movable Typeをphpに
さてMTのphp化の手順ですが、…
PHP化をさくらのサーバーで
PHPをCGIとして動かすサーバーなので パーミッションが644とかだとインター…
[MTカスタマイズ]メモ
■ページ分割 cocoons.org*:TOPページでもページ分け http:/…
[u*] アーカイブをPHP化
参考にさせていただきました! PHP化とページ分割。†††我楽 カテゴリーアーカ…