コンテンツネゴシエーション
クライアントに返送するデータを、条件によって選択して提供します。
■ 解説
言語ネゴシエーションは、日本人がアクセスしたときに日本語で書かれたページを、アメリカ人がアクセスしたときに英語で書かれたページを提供します。言語ネゴシエーションは、次のようにして「MultiViews 検索」を有効にします。
AddLanguage jp .jp AddLanguage it .it AddLanguage en .en LanguagePriority jp en it Options +MultiViews
これは、日本語、英語、イタリア語の3種類の言語をサポートする例です。各言語のファイルは、
*1 : ほとんどのブラウザーには「言語の優先順位」を設定できる項目があります。
■ リファレンス
AddLanguage mime-lang extension extension...
AddLanguage jp .jp AddLanguage en .en
拡張子 extension に対して、言語種類 mime-lang を定義します。例えば上の例だと、index.jp.html に対して、日本語で記述されていることを定義します。
LanguagePriority mime-lang mime-lang...
LanguagePriority jp en fr
index.html に対して MultiViews リクエストがあったとき、サーバはディレクトリから index.* にマッチするファイルを探します。もしクライアントから優先順位が定められていれば、そのドキュメントを返します。
しかし、クライアントがとくに優先順位を表さない場合のために、LanguagePriority で優先順位を定めます。
上記の例では、クライアントから優先順位を定めずに index.html がリクエストされたとき、サーバ上に index.html と index.jp.html と index.en.html が存在した場合、index.jp.html が選ばれます。