こう言うと「過去ログ消したの……」みたいな感じだけど、そうではなくて過去ログへのアクセスのために使っていた/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ファイルを返すようにした。