アーカイブ・ファイルの保存方法

水曜日, 2月 25th, 2004

 エントリーのアーカイブはデフォルトで,/archives/000001.phpなどと自動で連番がふられている.しかしこれは,データを移行する際に不具合が生じたり何かと都合が悪いらしい.そこで,いわゆる「Permalinkの変更」を行うことにした.
 参考にしたのはPermalinkを変更(ぴょんぴょんおーじ-Daily PYoN2)である.
 まずファイル名のフォーマットを決めなくてはならない.ちなさいとの場合は,/archives/年/月日時分秒.phpでいいだろう.これはアーカイブのURLが変わらないように(風のまにまに号)にも書かれているように,月ごとのエントリーがそれほど多くないため,1年ごとのディレクトリで十分だろうと判断したためである.このほか,キーワードをアーカイブ名にする方法も紹介されていたのだが,キーワードをいちいち考えるのが面倒なのでこれはパス(この方法についてはPermalinkを変更(Chitatopops)などを参照).
 「BLOGの設定」→「アーカイブの設定」に行き,「Individual Entry Archive」の「アーカイブ・ファイルのテンプレート」欄に以下のように記述する.
<$MTArchiveDate format="%Y/%m%d%H%M%S"$>.php
そして保存し,再構築を行う...?あれ?こんなエラーが出たぞ.

Script Error
The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run this script under CGIWrap debugging. Usually, either rename or link the script temporarily to a file which ends with .cgid extension, or add a AddHandler cgi-script-debug .cgi line to your .htaccess file.

なんでじゃー!
よくわからないまま,今度は

<$MTArchiveDate format="%Y/%m%d_%H%M%S"$>.php

と入力し,保存,再構築.なぜか今度はうまくいった.わけがわからん.まあいいか.
 ちなみに,はじめは,わけもわからないで「テンプレートの編集」からIndividual Entry Archiveのテンプレートを書き換えようとしていたのだが,どうやら違っていたようだ.皆さんもご注意を.
 本来であればこの後,これまでのエントリがリンク切れにならないようにしなくてはならないのだが,エントリがまだ全然無い新生ちなさいとなので,そんな心配は全然しなくてもよいのであった.
 さて,この作業が終わったら,次は日ごと,月ごとのアーカイブの設定を変えなくてはならない.現在は日ごとのアーカイブは/archives/2004_02_24.phpなどとなっていて,月ごとのアーカイブは/archives/2004_02.phpなどとなっている.それらの保存場所をそれぞれの年ごと(/archives/2004/0224.phpなど)に変更するのだ.
 しかしこの作業に何の意味があるのだろうか?とふと疑問に思った.じつはあまり意味なし?本当ならば,Permalinkを/archives/年/月/日/とかにしておいて,日ごと,月ごとのアーカイブがそれぞれのディレクトリのindexファイルとして機能するようにするのがその目的なんじゃないか?そう考えると,ちなさいとでのこの作業は不要ということになる.年ごとのアーカイブはまた別らしいし.
 ということで,今回の作業はこれで終わる.なんかえらく長かった気がするが,まあ気のせいだろう.