« 「エントリの書き出し・読み込み」でバックアップ トップ アーカイブのPHP化 »
カテゴリ: Web/blog アーカイブファイル名変更
執筆時のVersion: Movable Type 3.17-ja
昨日「エントリの書き出し・読み込み」でバックアップ作業を行いましたが、再構築後に個別アーカイブのファイル名が変わってしまい、リンクがずれてしまいました。
いや、本当は以前から起こっていました。
古い日付のエントリを追加して再構築しているうちにずれていましたが、適当に修正して(直接エントリを書き直して)お茶を濁していました。
この現象は当サイトだけの問題ではなく、あちこちで話題になっています。
/2005/05/post_51.htmlや/2005/03/mt_1.htmlのようにエントリの名前や投稿順に影響される名前付けのルールがマズイのです。
自分のサイト内部だけの問題なら該当する箇所だけ上記の通り書き換えて、後は放っておく所ですが、トラックバック先のサイトに表示されるURIがずれたり、固定リンクでリンクしてくださっているサイトに迷惑がかかります。
そこで、今日は一念発起して、アーカイブファイルの名前を「日時」で統一することにしました。
やり方は(もっと早く行動すれば良かったと思うほど)簡単で、次の手順のようになります。
- Movable Type管理画面メニューの「ウェブログの設定」をクリックして、「基本設定」画面を表示します。
- 右上の「アーカイブの設定」をクリックして、「個別エントリーアーカイブ」の「アーカイブ・ファイルのテンプレート」に
<$MTArchiveDate format="%Y/%m/%d-%H%M"$><$MTEntryKeywords dirify="1"$>.html
と書き込みます。
PHPの場合は<$MTArchiveDate format="%Y/%m/%d-%H%M"$><$MTEntryKeywords dirify="1"$>.php
- FTPソフトで、アーカイブディレクトリの中身をすべて消去します。
- 変更を保存して再構築します。
あとは必要に応じて、自分のエントリにリンクしている所を書き換えます。
私は、「エントリの書き出し・読み込み」でバックアップで書いた通り、一度テキストファイルにエントリデータを保存し、テキストエディタで置換した後に差し替えました。
<$MTEntryKeywords dirify="1"$>という部分は、日付だけのファイル名だと味気ないので、キーワードを付け加えられるようにしました。エントリ編集画面のページ下に「この画面の表示をカスタマイズする」というアンカーがありますが、ここからキーワードを有効にして、そこに記述したものがファイル名に反映されるようになっています。このエントリの場合は_archive_filenameというキーワードを設定しています。
外部からリンクされているエントリ(固定リンクやトラックバック)については、次のようにリダイレクトを .htaccess に追記しました。
Redirect permanent /oldnew/archives/2005/03/24-2340.html http://www.sofarts.com/oldnew/archives/2005/03/24-2340_rdf_rss_icon.php Redirect permanent /oldnew/archives/2004/04/webdav.html http://www.sofarts.com/oldnew/archives/2004/04/20-1314_webdav.php Redirect permanent /oldnew/archives/2005/05/post_53.html http://www.sofarts.com/oldnew/archives/2005/05/15-1253_kiseiju.php Redirect permanent /oldnew/archives/2005/03/mt_1.html http://www.sofarts.com/oldnew/archives/2005/03/13-1431_mt_template.php Redirect permanent /oldnew/archives/2005/03/post.html http://www.sofarts.com/oldnew/archives/2005/03/03-0000_b_flets.php Redirect permanent /oldnew/archives/2005/03/post_24.html http://www.sofarts.com/oldnew/archives/2005/03/29-0020_tb_tree.php Redirect permanent /oldnew/archives/2005/03/post_15.html http://www.sofarts.com/oldnew/archives/2005/03/19-1955_over_heat.php Redirect permanent /oldnew/archives/2005/03/post_22.html http://www.sofarts.com/oldnew/archives/2005/03/26-1428_devilman.php Redirect permanent /oldnew/archives/2005/04/post_48.html http://www.sofarts.com/oldnew/archives/2005/04/24-1035_chitose_funabashi.php (中略) Redirect permanent /oldnew/archives/book/index.html http://www.sofarts.com/oldnew/archives/book.php Redirect permanent /oldnew/archives/car_bike/index.html http://www.sofarts.com/oldnew/archives/car_bike.php Redirect permanent /oldnew/archives/diary/index.html http://www.sofarts.com/oldnew/archives/diary.php Redirect permanent /oldnew/archives/memo/index.html http://www.sofarts.com/oldnew/archives/memo.php Redirect permanent /oldnew/archives/pc/index.html http://www.sofarts.com/oldnew/archives/pc.php Redirect permanent /oldnew/archives/renewal/index.html http://www.sofarts.com/oldnew/archives/renewal.php Redirect permanent /oldnew/archives/software/index.html http://www.sofarts.com/oldnew/archives/software.php Redirect permanent /oldnew/archives/webblog/index.html http://www.sofarts.com/oldnew/archives/webblog.php Redirect permanent /oldnew/archives/favorite/index.html http://www.sofarts.com/oldnew/archives/favorite.php
気付いた一部のURIのみですが、少なくとも自分でトラックバックした先には迷惑かからないようにしたつもりです。
2005/08/07追記
アーカイブファイルのPHP化も行ったため、これについてもリダイレクトで対処しています。
末筆になりましたが、RSS配信をご利用のみなさまへ。今回の再構築で、過去のエントリぶんも再配信になってしまいました。どうもすみません。
2005/7/29 13:44 | URI | Web/blogカテゴリの記事をすべて読む