今月のアーカイブへリンクを張る

MT-column > Tips
| | コメント(0) | トラックバック(0)

カテゴリーアーカイブへのリンクを張る際に、「最新のアーカイブ」ではなく「今月のアーカイブ」へのリンクにするにはどうしたらよいか、という質問が mixi の Movable Type コミュニティであがっていました。
そしてこれに関しては藤本さんが、「今月のアーカイブページにリンクする」という記事で丁寧に解説をされていますが、これとは別の方法を一つ思いついたので、これを今日のTipsとしてみます。

リライトやリダイレクトを使う

サーバーの環境が許せばという条件はありますが、 PHP や .htaccess を利用することで動的なリンクと同じような結果を得ることができます。

current/index.php

<?php header('Location: <mt:BlogURL />' . date('Y/m/')); ?>

.htaccess

RewriteEngine On
RewriteBase <mt:BlogURL regex_replace="/https?:\/\/[^\/]*/","">

RewriteRule current/?$ %{TIME_YEAR}/%{TIME_MON}/
※いずれか一方だけで動作します。

この場合リンク元は以下のようなテンプレートになります。
<a href="<mt:BlogURL />current/">今月のアーカイブ</a>
いずれのファイルでも利用しているMTタグは <mt:BlogURL /> だけなので、 この内容であれば必ずしもMTで出力する必要はないかもしれないですが。

またこの方法だと出力時の処理(HTMLの書き換え)ではなくサーバーへのアクセス時の処理になるので、外部らからのリンク先としても利用できることになります。 つまり、「今月のアーカイブへリンクをする場合は current を指定すべし」としておけば、MTで管理をしていないページからのリンクも自動で「今月のアーカイブ」への向けることができるようになります。

トラックバック(0)

このブログ記事を参照しているブログ一覧: 今月のアーカイブへリンクを張る

このブログ記事に対するトラックバックURL: https://tec.toi-planning.net/mtos/mt-tb.cgi/434

コメントする

Created by ToI企画
Powered by Movable Type 5.2.2