Latest Entry Redirect Template

http://hxxk.jp/2004/09/07/2128

記事データ

投稿者

望月真琴

投稿日時

2004-09-07T21:28+09:00

タグ
概要

最新の Individual Entry Archive へリダイレクトする .htaccess テンプレートの作り方をスクリーンショット付で解説しています。

リプライ

リプライはまだありません。

記事本文

このテンプレートの意味

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

  1. スクリーンショット Template の編集をクリックします。
  2. スクリーンショット 新しいインデックス・テンプレートを作るをクリックします。
  3. スクリーンショット テンプレートの名前を Redirect ( これは一例です。お好きな名前にしていただいて構いません。 ) にし、出力ファイル名を .htaccess にしてください。 インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築するにチェックを入れてください。
  4. スクリーンショット テンプレートの中身を以下のように記述します。
    Redirect seeother /latest.php <MTEntries lastn="1"><$MTEntryPermalink$></MTEntries>
    
  5. スクリーンショット 保存をクリックします。
  6. スクリーンショット スクリーンショット インデックスをリビルドして完成。

以上の手順を終えた時点で、 FTP で直接 .htaccess ファイルを確認してください。

Redirect /latest.php http://hxxk.jp/2004/09/06/2148

このように、その時点での最新記事へリダイレクトするような記述になっているはずです。 あとは index から、この latest.php に対して適切なナビゲーションを行うようにしてください。 なお、サーバ上に実際に latest.php を配置しておく必要はありません。

なお、 AddType や Options などの、その他の .htaccess ディレクティブを指定している場合は、一緒にテンプレートの中身に記述してください。 既にローカルで .htaccess を作成してサーバ上に put していた場合、リビルド時にその内容が上書きされて失われてしまいます。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など