エントリのアドレスを投稿日付で統一

投稿者:草加 耕助
すみません…(草加)

 お気づきの方が多いと思いますが、現在、各個別エントリーへのリンクがすべて切れております。というのも、再インストールによって、MT(Movable Type)が自動でわりふってくれていた、個別エントリーのアドレスがすべて変わってしまったせいです。

 とりわけトラックバックにつきましては、皆様からいただいたトラックバック=旗旗から皆様のサイトへのリンクについては問題ありませんが、こちら送ったトラックバック=皆様のサイトから旗旗へのリンクについてはすべて切れていると思います

 皆様のサイトに「リンク切れ」を作ってしまい、サイトの品質を落としてしまったことは断腸の思いです。ここに深くお詫び申し上げます。誠に申し訳ございません。サイトのチューニングなどが一通り終わった段階で、お詫びコメント行脚をしなくてはと考えております。

 また、旗旗のサイト内リンクにおける関連エントリーへのリンク切れも深刻な問題で、このために読者様には非常に読みにくい、イライラする状況を招いてしまいました。こちらは手作業で新しいエントリーから順次修復していくしかありません。

 今回は軽~い気持ちでブログをPHP化をしようとして原因不明のまま失敗。あげくに管理者ページにもアクセスできなくなって、やむなくMTをサイトから削除して再インストールという、非常にカッコ悪い状況でありますが、再インストール以外にも、たとえばサイトを引っ越した場合など、元のエントリーのアドレスが変わってしまって、サイト内のリンクがバラバラに切れてしまうという事態が生じます。

 そこで今回の再インストールに際しては、今後こういうことがおこってもリンク切れがおこらない、あるいは簡単に修復できるように工夫を行いました。参考にさせていただいたのは「クロスブリード」様の「MTのPHP化とページ分割 」という記事です。具体的には個別エントリーのアドレスを、投稿した「年月日時分」による数字の羅列に自動で設定してしまおうというものです。

 これなら(投稿した日付を後から改ざんしない限りは)再インストールしてもアドレスが変わることはありませんしスマートです。本当は以前からこうしたかったのですが、MTのデフォルトのまま運用してきましたので、今更エントリーのアドレス変えることができなかったのです。そこで今回はどうせアドレスが変わってしまうならと、思い切って実施にふみきりました。

 今回はご迷惑をおかけしましたが、今後は今のレンタルサーバーから追い出されない限り、アドレスが変わることはなくなりましたので、これに懲りずにまたトラックバックなどお願い申し上げます。

 さて、具体的なやり方は以下の通りです。とりわけこれからMTによるサイトの構築を考えておられる方や、将来的にブログの引越しを考えておられる方は必見です。

クロスブリードMTのPHP化とページ分割 “より引用

というわけで、MTの管理画面→BLOGの設定→ウェブログの設定で、アーカイブファイルの拡張子を「php」にする。アーカイブの設定で、ファイル名の設定をする。 「アーカイブファイルのテンプレート」というところに然るべき記述をすると、リビルドしたときに任意のファイル名で書き出してくれる。MTって便利ですね。 やり方の例。 <$MTArchiveDate format=”%Y%m%d%H%M”$>.php こうすると、200401231400.phpのように、投稿した日付時刻でファイル名が出来る。 <$MTArchiveDate format=”%Y%m/%d-%H%M”$>.php なかにスラッシュを入れることによりディレクトリを生成することができる。 200401/24-1400.php ← こんなカンジ また、エントリキーワード(エントリ画面のカスタマイズをすることにより出現する)を入力することにより、そのキーワードが入ったファイル名を生成することも出来る。 <$MTArchiveDate format=”%Y%m/%d-%H%M”$><$MTEntryKeywords dirify=”1″$>.php 例えばキーワードに「mario」を入れておくと、 200401/24-1400mario.php ← こんなカンジで。

ね、簡単でしょ?
MTのデフォルト設定では、年/月/エントリータイトル.html となっています。

MTのマニュアルより

デフォルトで個々のアーカイブ・ファイルには、エントリーのタイトルに応じて名前が付けられます。たとえば、’Our Magnificent Day at the Beach(ビーチでの素晴らしい日)’というタイトルのエントリーには’our_magnificent.html’などのファイル名が付けられ、エントリーの作成月に基づき’2004/05/our_magnificent.html’というディレクトリに保存されます。

 ただしこの場合は日本語が通らないので、日本語ブログのほとんどは「エントリータイトル.html」とはなりません。だいたいは「/2005/05/post_18.html」などと投稿順にアドレスが割り振られ、たまにタイトルに英数字が含まれていると、MTはそれを使ったアドレスを作ります。全体的に統一感がなく、美しくないし、アドレスが変わってしまいやすい。

 そこでレンタルブログなどのシステムでは、8桁のエントリーIDタグを使って「0000123.html」などとしていることもあるようですが、エントリーIDも引越しで変わってしまうことがあるでしょうから、やはり投稿日付など、そのエントリー自身が持っている不変の要素でアドレスを作る設定にするのが安全かと思います。

ここまで読んでいただいてありがとうございます!

AIコースケと議論しよう! この記事への質問・一言コメントをどうぞ

●AIの回答は、必ずしも正確とは限りません。また、回答は執筆者の見解と必ずしも一致しない場合もありますので、参考としてご利用ください。
●回答には文字数制限があるため、内容が簡潔になります。また、制限を超えると途中で打ち切られることがあります。

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です