記事本文
このテンプレートの意味
index に最新記事を配置することのメリットとデメリットであれこれ考察をしましたが、じゃあ実際に index に最新の記事を配置しないということを実現するにはどうすればいいのさ、というお話です。 Movable Type での手法ですが、 weblog ツールによっては同じような手法を取ることができるかもしれません。 なお、このテンプレートを使った手法は、 .htaccess をサーバ上に置くことができることが前提となっています。 よって、 apache サーバにて Movable Type を使用していることが必須条件となります。
考え方としては、 latest.html などといった最新の記事を表す URI を index からナビゲートし、そのリクエストに対して Redirect で最新の Individual Entry Archive の URI を返す、というものです。 ここでは、 hxxk.jp の構成を基にテンプレートのコードを紹介します。
とりあえず現時点での最新記事に Redirect
hxxk.jp は、 /public_html/ を weblog のルートとして公開しています。
この記事を書いている段階での hxxk.jp の最新の記事は http://hxxk.jp/2004/09/06/2148 ですので、 latest.php にリクエストがあった際には、この URI を返せば最新記事へリダイレクトしたことになります。
Redirect seeother /latest.php http://hxxk.jp/2004/09/06/2148
.htaccess にこのように記述することで、 http://hxxk.jp/2004/09/06/2148 を最新記事としてリダイレクトできます。 ( 最後に改行コードを記述するのを忘れないようにしてください。 )
しかし、これでは私が新たな記事を書くたびに、先頭の / よりも後ろの部分、ここでは 2004/09/06/2148 の部分が変化することになります。
そのたびに .htaccess を書き換えていたのでは、 Movable Type を使っている意義が薄れてしまいます。
そこで、なんとかこれをテンプレートにして自動化できないものかと考えました。
実際のテンプレートの作成方法を以下に示します。 なお、 Movable Type のバージョンは 2.661 で、 Milano::Monolog: 日本語化パッチで公開されている MovableType2.661 日本語化パッチを適用したものとして説明しています。 ( Movable Type 3.x をお使いの場合は適宜読み替えてください。 )
Redirect Template
-
Template の編集をクリックします。
-
新しいインデックス・テンプレートを作るをクリックします。
-
テンプレートの名前を Redirect ( これは一例です。お好きな名前にしていただいて構いません。 ) にし、出力ファイル名を .htaccess にしてください。
インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築するにチェックを入れてください。
-
テンプレートの中身を以下のように記述します。
Redirect seeother /latest.php <MTEntries lastn="1"><$MTEntryPermalink$></MTEntries> -
保存をクリックします。
-
インデックスをリビルドして完成。
以上の手順を終えた時点で、 FTP で直接 .htaccess ファイルを確認してください。
Redirect /latest.php http://hxxk.jp/2004/09/06/2148
このように、その時点での最新記事へリダイレクトするような記述になっているはずです。 あとは index から、この latest.php に対して適切なナビゲーションを行うようにしてください。 なお、サーバ上に実際に latest.php を配置しておく必要はありません。
なお、 AddType や Options などの、その他の .htaccess ディレクティブを指定している場合は、一緒にテンプレートの中身に記述してください。 既にローカルで .htaccess を作成してサーバ上に put していた場合、リビルド時にその内容が上書きされて失われてしまいます。

