コンテント・ネゴシエーションなんて全然知らなかったんだけど、この前教えてもらったので実際に試してみました。
ちなみにコンテント・ネゴシエーションとは、HTTP/1.1で導入された仕組みで、あらかじめ複数のリソースをサーバーに用意しておき、ユーザからのリクエストに応じて適切なリソースを自動的に選び,出力する仕組みのことです。
簡単な例で言うと、サーバー上に多言語のファイルを用意しておいて、ユーザーのリクエストに応じて最適なファイルを自動的に判断してさせるってことができるってかんじかな。
ページ例:
コンテント・ネゴシエーションテストページ
今はたぶん”日本語ページ”とコンテンツ領域に出ていると思います。
それはクライアント(ブラウザ)の言語優先順位が日本語になっているからで、この言語の優先順位を英語にしてやれば、English versionのページが表示されるはず。
優先順位の変え方(Internet Explorer)は、「ツール > インターネットオプション > 全般 > 言語」にある追加ボタンで、英語や日本語を追加したり削除したり出来ます。
英語バージョンを見たい方は言語の部分を英語だけにして見てください。
ページ例:
コンテント・ネゴシエーションテストページ 英語バージョン
上の2つのURIは同じですが、別々のファイルが表示されています。
URIには拡張子がなかったりしてるけど、あっても問題ないみたい。(lang.htmlでも同じ事ってことです)
ただ今回はカッコイイから無しでやってみました。
ロリポップでも簡単にできたんで、レンタルサーバーでもできる所は多いかもしれません。
全然関係ないけど、拡張子がないページのほとんどはCGI::Applicationを使ってアプリケーションを作ったときに行うことが多いようです。