URLマッピングを考える

放置してたダイアリーを唐突に更新してみるの巻。「CMSとしても使えるブログ」という観点で見た場合のURIマッピングについて、ちょっと考察してみます。

例えば、アメーバブログなんかだと、
http://ameblo.jp/(ユーザID)/entry-(エントリID).html
てな感じになります。これが悪いというわけではないですが、まぁ、普通ですね。

はてなダイアリーでは「日記モード」「日記モード・見出し別ページ」「ブログモード」という3種類のモードが用意されています。日付毎のページのURI
http://d.hatena.ne.jp/studio-m/20060306
となり、「はてなダイアリー」の「studio-m」の「2006」年「03」月「06」日であることがURI単体で明示されています。うーん、RESTFUL。

一日の中で記事を分ける場合は見出しを付けることで区切ります。その場合は
http://d.hatena.ne.jp/studio-m/20060306/(見出しID)
というURIになります。それぞれの見出しはユニークなIDを持ち、それがURIに適用されます。見出しIDはただの連番(のはず)で、記事の内容を表すには至りません。

MTの場合は「個別記事はアーカイブ」という理念があるようで、
~/archives/2006/03/test.html
という記述になります。3.17でのテスト結果なので、ひょっとすると現在は違うかも知れませんが。htmlのファイル名には記事のタイトルがあてがわれますが、日本語でタイトルを書いた場合は「post_(id).html」といったファイル名になります。ちなみに、「php日記」のようなタイトルにした場合は「php.html」となります。先頭からASCII文字を取って、取れたところまではがんばるみたいです。また、スペースはアンダースコアに置換されます。適用されるファイル名が使用済みの場合は「_1.html」のようになります(test.htmlがあればtest_1.htmlなど)。

MT形式のURIはタイトルが反映されるため、サイト構築用のCMSとして利用する場合にも都合がいいですね。年と月が入るのはよろしくないので、これをカテゴリに置き換えるとしっくりきます。ついでにarchivesも外してしまいましょう。
~/(カテゴリ名)/(記事名).html
このルールであれば、会社概要のページを
http://www.hogehoge.co.jp/corporate/profile.html
というURIにすることが可能です。.htmlを付けるかどうかは要検討ですが、一般的なサイトのイメージとしては付けておく方が安心なのかな。

あとは、タイトルをファイル名に適用してしまうと日本で使う場合にはあまり効果がないので、ファイル名として利用するユニークなIDを別項目として設ける方がいいでしょう。ただし、これをやると運用の負担が増してしまうので、一般ユーザーにどう使わせるかは難しいところです。日本語圏の悲しいところですね。