記事本文
自分のための記録であることと、第三者に対する配慮
hxxk.jp の作成の目的は「自分のための記録、備忘録」です。 もちろん、他人の記事に対して何かの意見を言ったりする記事もありますが、それも大きな視野で見れば「誰々の記事に対して感じたことを文字にして、『あの時の自分はこう考えていた』ということを確認できる」という記録になると言えるでしょう。
自分のために書いているのなら、その時は明確な答えを得られなかったことについても、後から解決の目を見たら古いものは「これはこないだ解決したもんなあ」で済ませればいいのですし、似たような話題を扱っている記事もおぼろげながら記憶に残っています。 よって、特段分類をしたり補記をしたりということはしなくても構わないという理論もできあがりますが、やはり自分の記憶だけでは全てをフォローできません。
そこで、 Movable Type のキーワード記録機能と Tagwire Plugin というプラグインを使って キーワードによる記事の分類を行っています。 また、このプラグインの機能を用いて、各個別記事には ( 同じキーワードが設定されているという意味で ) 「関連のある記事」をリストアップしています。 この分類や関連性というものには私の主観によるところが大きいのですが、それでも全くの未分類よりは私にとっても、またご覧になっている方にとっても便利であると信じています。
キーワードや「関連のある記事」も見て欲しい
何故、前項のようなことを再確認するように書き出したか。 たまたまリファラに HTTP 301ヘッダで、MT2.xのアーカイブからMT3.xのアーカイブにリダイレクトする :Heartlogic という記事があるのを見つけ、リニューアルで古くなった URI を新しい URI にリダイレクトが参考にされていることを知ったからです。
いや、参考にされたからそういったことを考えたというわけではなく、
ディレクトリごと移転する場合はこのようにすれば良いようだけど、「絶対パス」がどこのパスを指すのかイマイチ分からないし、ファイル1本ごとの場合も説明されていない。
と書かれていたからと言った方が正解に近いでしょうか。
確かにその記事内には直接
「
パーマリンクのURLの作られ方が違う
場合のリダイレクト方法」は書かれていません。
HTTP 301ヘッダで、MT2.xのアーカイブからMT3.xのアーカイブにリダイレクトする :Heartlogic の一つ前の記事に Web2.0時代に、ユーザーが経験しておくべき10のこと :Heartlogic という記事があり、
あらゆるリソースはリソース単位でランダムアクセスされる、ということの経験
とあるように、他の記事には書いている内容だったとしても、「その記事内」に書かれていなければ読まれない可能性があるというのも分かっています。
しかし、それをある程度考慮して、キーワードおよび「関連のある記事」による類似記事への到達性を高めているのだから、そこに少しでも目を向けて欲しかった、「関連のある記事」の部分に並べられたリンクアンカーから、あるいは記事の冒頭のデータ部分から htaccess や リダイレクトというキーワードを見つけ、そのキーワードを集めたページから、デフォルトの個別エントリーアーカイブから URI を変更する場合の注意点に辿り着いて欲しかったと思いました。
または、もう一度言葉を借りるなら、
Q&Aサイト等で質問、回答をする
ということをして欲しかったとも思いました。
hxxk.jp は Q&A サイトではありませんが、もし「ファイル 1 本 1 本ごとにリダイレクトする方法はありませんか ? 」と尋ねられていたら、喜んでデフォルトの個別エントリーアーカイブから URI を変更する場合の注意点を紹介したでしょう。
小林さん ( Heartlogic ) が辿り着いてくれなかったこと自体を非難するつもりはありません。
サイト内の記事全てに目を通して初めて
説明されていない
という判断をするには手間がかかりすぎます。
ただ、辿り着いていてくれさえすれば、
百本以上のアーカイブ全部についてこのように新旧URLの対応を列記する
という回りくどい方法を取らせることもなかったのになあ……という残念な思いから書きました。
各個別記事において、関連のある記事や検索フォームを活用していただく旨の注意書きを記述しました。
Movable Type 2.x 形式の Permalink から Movable Type 3.x 形式の Permalink にリダイレクトする方法
さて、既に解決しているようですが、折角なので簡単に Movable Type 2.x 形式の Permalink から Movable Type 3.x 形式の Permalink にリダイレクトする方法を解説しようと思います。 前項までで終わっていたら、私の単なる愚痴にしか見えませんし。
なお、 .htaccess の Redirect permanent ディレクティブを用いるため、 .htaccess を使える環境にあることが前提条件となります。 また、解説内の項目名は Movable Type 3.2-ja-2 を元にしています。
管理画面から「テンプレート」をクリックします。
「テンプレートを新規作成」をクリックします。
テンプレートの名前を適当な名前にし、出力ファイル名を .htaccess にします。テンプレートの中身に次のようなコードを記述します。
<MTEntries lastn="1000">Redirect permanent <$MTBlogRelativeURL$>archives/<$MTEntryID pad="1"$>.html <$MTBlogArchiveURL$><$MTEntryDate format="%Y/%m/"$><$MTEntryBasename$>.html </MTEntries>
テンプレートを保存し、「このテンプレートを再構築する」をクリックします。
以前に Latest Entry Redirect Template で扱った、 .htaccess をインデックステンプレート化する方式と同じ手法です。 なお、既にローカルで .htaccess を作成してサーバ上に put していた場合は、テンプレート内にその記述も合わせて行うことに注意してください。 一緒に記述しないと、テンプレートの再構築時にその内容が上書きされて失われてしまいます。
テンプレートのコードについていくつか説明します。
Movable Type 2.x のデフォルトの設定では、 Permalink には
<$MTEntryID pad="1"$>
で生成された値が使われています。
対して、 Movable Type 3.x のデフォルトの設定では
<$MTEntryDate format="%Y/%m/"$><$MTEntryBasename$>
で生成された値が使われています。
( Movable Type 3.2 の「公開の設定」では yyyy/mm/entry_basename という表現になっていますが、テンプレートタグで表現するとこのようになります。 )
これらを MTEntries コンテナタグで囲み、 lastn を 1000 としてテンプレートを作れば、全ての記事の Permalink をリダイレクトするテンプレートができるというわけです。
( もし記事の数が 1000 個以上ある場合は、 lastn の値を適宜増やしてください。 )
トラックバック送信先
- HTTP 301ヘッダで、MT2.xのアーカイブからMT3.xのアーカイブにリダイレクトする :Heartlogic
-
既に解決しているようですが、折角なので簡単に Movable Type 2.x 形式の Permalink から Movable Type 3.x 形式の Permalink にリダイレクトする方法を書きました。

