/archives/の削除

こう言うと「過去ログ消したの……」みたいな感じだけど、そうではなくて過去ログへのアクセスのために使っていた/archives//blog/に移動させたというだけ。逆に言うとブログのトップページが一覧ページじゃなくなって、月ごとやカテゴリーごとのアーカイブ・ページへのリンクのリストになったという感じ。CoolなURIもたまには変わる。

もちろん/archives/のような過去ログへのアクセスを提供するページは必要不可欠だと思うんだけど、実態がブログ(/blog/)のアーカイブ一覧なのに/archives/にあるのは良くないなぁとずっと思っていた。せめて/blog/archives/にするべきかなと思って、気が向いたので作業を始めた。

途中で気が変わって、最近感じている「記事が全文で並んでるページって読みづらいよね?」みたいな感覚の元、一覧ページをやめて上記のような形にした。同じ内容が色々なページに散在するような形になるのもどうなのかな……とも最近考えている。もっとpermalinkを全面に押し出す形でブログを構成したい。

まぁそういうわけでブログのトップページが一覧じゃなくなったわけだけど、もうちょっと良い方法がありそうな気がするので色々考えてみる。全エントリーのタイトル並べようかなー。

ついでに/archives/にだけ置いてあって、アクセス性が非常に悪かった検索フォームも全てのページに追加するようにもしておいた。


リンクのリストは単なる静的なHTMLファイルにした。一応エントリーを書いた時に必要ならリビルドする感じになってる。これをindex.htmlとでもすればだいたい完了なんだけど、それだけではページングに使っているクエリーなどもこのHTMLファイルに食われてしまうので、いつも通りmod_rewriteで逃げた。

DirectoryIndex blosxom.cgi

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteBase /blog/

  # Call index.html if QUERY_STRING does not exist
  RewriteCond %{QUERY_STRING} ^$
  RewriteRule ^$ index.html [L]

  # Call Blosxom
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ blosxom.cgi/$1 [L,QSA]
</IfModule>

Directoryindexではblosxom.cgiを指定しておき、%{QUERY_STRING}が空でかつ/blog/へのリクエストの時だけ静的なHTMLファイルを返すようにした。