Multiviewsのススメ
「CoolなURLを作るには」や 「画像もDBに格納して管理する話とCoolなURLの作り方の話をまとめて補足。」、 あるいは「まちゅダイアリー - よりCoolなURLを作るには」を読んだんだけど、 Multiviews がさっぱり話題にならないので、紹介しておきます。
言語を選んでくれる
Options +Multiviews LanguagePriority en ja DirectoryIndex index MultiviewsMatch Handlers
こんな感じで設定しておきます。 この状態で「(このパス)/」にアクセスすると、 ブラウザの設定で日本語を優先にしているときは index.ja.html あるいは index.html.ja とかが表示され、 英語だと index.en.html になり、 それ以外だと優先度順で index.en.html が表示され、 そのほかの言語のファイルも用意されていればそれが表示され、 コンテントネゴシエーション非対応のユーザエージェントだと index.html が表示されます。
「(このパス)/hoge」がhoge.ja.htmlやhoge.en.htmlになったりもします。
「MultiviewsMatch Handlers」の設定をしておくと、 「(このパス)/fuga」がfuga.phpやfuga.htmlになったりします。
言語が違ったらURLも分けるべき、という考えもありますので、 その辺は自分のポリシーに従ってください。 ちなみに新月公式サイトは この仕組みで日本語と英語を切り分けています。
画像などで、いくつかのフォーマットの中から適切なものを選ぶ、 という局面でも使えるはずなんですが、 実際の使いどころはちょっと思いつかないです。
拡張子を省略できる
Options +Multiviews DirectoryIndex index MultiviewsMatch Handlers
http://blog.fuktommy.com/rssにアクセスすると、 この設定でrss.rdfが表示されるようになっています。
拡張子があった方がわかりやすいという考え方もあって、 この辺もポリシー次第。 同じ設定で、 rss.rdfを呼ぶとrss.rdf.phpが呼ばれる、というのもできます。
欠点
一部の携帯端末と相性が悪くて、 406エラーを出す(YappoLogs: J-PHONEでのIMGタグとMultiViewsについてのはまりどころ または AKIBA de: Softbank 3G携帯で406 Not Acceptableエラーが出た場合) とか、 入力したURLと、現在のURLとして表示されるものが違うとか、 そういうことがあるんですけど、体系的に調べてないのでわからないです。