MTのPHP化とページ分割
以前から懸念していたpermalink(個別記事へのリンク)のIDの件でやろうやろうと思っていて中々手がだせずにいたphp化及びカテゴリページのページ分割を完了させた。
やり方はいろんな方がいろんなやり方をされていて非常に迷った。
permalinkもphp化するのは凄く迷ったけど、すべての記事を.phpにすることにした。それと、長くなりすぎるカテゴリページをいくつかに分割することにより、表示を軽くしてみた。
以下にやり方を書いていこうと思う。ま、興味ある方だけ。
スポンサードリンク
アーカイブファイルのphp化
> php化をするに当たって個別記事のファイル名を変えることにした。デフォルトの「00000.html」の形式だと、後々サーバ移転等の際に再構築するとファイル名が変わってしまうからだ。
というわけで、MTの管理画面→BLOGの設定→ウェブログの設定
で、アーカイブファイルの拡張子を「php」にする。アーカイブの設定で、ファイル名の設定をする。
「アーカイブファイルのテンプレート」というところに然るべき記述をすると、リビルドしたときに任意のファイル名で書き出してくれる。MTって便利ですね。
やり方の例。
.php
こうすると、200401231400.phpのように、投稿した日付時刻でファイル名が出来る。
<.php>なかにスラッシュを入れることによりディレクトリを生成することができる。
200401/24-1400.php ← こんなカンジ
また、エントリキーワード(エントリ画面のカスタマイズをすることにより出現する)を入力することにより、そのキーワードが入ったファイル名を生成することも出来る。
.php
例えばキーワードに「mario」を入れておくと、
200401/24-1400mario.php ← こんなカンジで。
ここで問題が出てきた。元の00001.htmlというファイルが無くなる訳だから、GOOGLE等で検索で飛んできたヒトは404エラーになるという事。実はこれが原因でなかなかPHP化できなかった。
.htaccessにリダイレクトの記述をすれば良いのは分かってたけど、膨大な過去ログを一つ一つ記述するのは大変なのでやりたくない。
で、色々探してたらあった。
ARTIFACTさんで詳しい解説が。
htaccessのRedirect permanentを利用して、旧URLにアクセスした場合、新URLに飛ぶようにしました。
「Templateの編集」⇒「新しい Index Template を作る」
で下記テンプレートを追加、「Index Template を Rebuild するときに自動的にこの Template を Rebuild する」にチェックをいれ、適当なファイルネームで生成、それでできたファイルの内容を.htaccessファイルに追加します。
Redirect permanent /mt/archives/
.html
mt/archives/
/
.html
もう目から鱗落ちまくり
どういうことかというと、httaccessに記述すべきものが一瞬にして出来上がる。
Redirect permanent /archives/000420.html https://cross-breed.com/archives/200401241610.php
これで全てのアーカイブをリビルドしてオワリ。
カテゴリアーカイブの分割
まず、MT Extensions: MTPaginate 1.2.2
↑ここでプラグインをDLします。解凍して /plugin/ にアップロード。
これで準備はOKです。次にカテゴリテンプレートを開き、以下のようにタグを追加です。
◀
▶
◀
▶
(中略)
◀
▶
◀
▶
これで良いはずです。完成すると↓カテゴリページがこんなふうに分割されてるはずですよ。
カテゴリ分割を入れたのはいいのですが、ウチは
カテゴリページへのアクセスがほとんどないという罠(泣
【04/05/26 追記】 ちなみに、MTPaginateContent max_sections="8"というタグは 「8つ以上のエントリがあったら分割しますよ」 というものです。 スポンサードリンク
※このサイトはさくらインターネットのサーバを利用しています。
■gi(ギィー)福岡浄水通りの絣(かすり)と手作り雑貨のセレクトショップ
↑サイト内紹介記事
【PR】BTOパソコンの先駆者 FRONTIER