|
mod_negotiation Apache Module
Apache
Web Server に、複数用意されているドキュメントから、クライアントの能力に一番合った
ドキュメントを選択する機能を持たせることができます。この mod_negotiation
モジュール 機能はコンテンツネゴシエーションと呼ばれ、シンプルですが非常に強力です。
利用
mod_negotiation モジュールは、すでに /www/modules/
ディレクトリにリンクされています。このモジュールを利用するには、/www/conf/httpd.conf
ファイルで以下行のコメントアウトを外してから restart_apache を実行してください。
#LoadModule negotiation_module libexec/mod_negotiation.so
設定
www/conf/httpd.conf ファイルに以下のような設定を追加します。
-
以下のように AddLanguage ディレクティブで言語ディレクティブを追加します。
AddLanguage en .en
AddLanguage es .es
AddLanguage fr .fr
AddLanguage de .de
AddLanguage it .it
AddLanguage jp .jp
AddLanguage ディレクティブで、ファイル拡張子 (.en、.es、.fr、.de、.it、.jp)
を対応する言語の省略形 (en、es、fr、de、it、jp) と関連付けます。言語の略称は定義済みで、最新のブラウザ
では以下の場所で指定されています。
-
LanguagePriority ディレクティブで、以下のように言語優先順位を追加します。
LanguagePriority en es fr
de
LanguagePriority ディレクティブは、コンテンツ
ネゴシエーションで「等価」になった場合やクライアントのブラウザで優先言語が指定されていない場合(旧バージョンの Web
ブラウザ等)のために優先順位を定義します。各言語は優先順位の高い順に表示されます。
-
<Directory /usr/local/apache/htdocs> や <Directory
/home/user_name/www/dom.com> のような対象としたい Documentroot のディレクトリー指定の
Options ディレクティブに MultiViews オプションを追加します。 例えば、httpd.conf
が、以下のように設定されていた場合。
<Directory /usr/local/apache/htdocs>
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you (or at least, not yet).
Options Indexes FollowSymLinks
以下のように MultiViews オプションを追加します。
Options Indexes FollowSymLinks
MultiViews
The MultiViews オプションは .htaccess ファイルの Options
定義で設定することもできます。
言語固有のコンテンツの配信
VPS v2 の設定は上記で完了です。次は、言語固有のコンテンツを作成し、AddLanguage
ディレクティブでの指定に沿った拡張子を付けてアップロードします。たとえば、index.html ファイルのほかに
index.html.en、index.html.es、index.html.fr ファイルを作成します。ブラウザ クライアントが
index.html を要求すると、Web サーバーは Web ブラウザの言語指定を解析し、指定に沿った index.html.*
ファイルを配信します。
注意: Web ブラウザが送信した言語設定が、Web
サーバーやユーザーが作成したドキュメントで設定されているタイプ定義のいずれにも一致しない場合、Web サーバーは 406 エラー406
(リソースは見つかったが、リソースのタイプが accept で指示されている許容可能なタイプと互換性がないか、または Web
ブラウザクライアントによって Web サーバーに送信された accept-encoding ヘッダーと互換性がないため配信できない)
を返します。例えば、クライアントがギリシャ語のコンテンツ (el)
しか受け付けない場合で、サーバーに英語、スペイン語、およびドイツ語のコンテンツしかない場合は、クライアントに 406
エラーが返されます。ErrorDocument スクリプトを作成し 406
エラーに対して独自の表示をするようにしたほうがよいかもしれません。 |
詳細情報
詳細情報は以下を参照ください。
SPEEDEX サポートポリシー
Copyright @ Cyber Vision Hosting Co., Ltd. All rights reserved.
Email: support@speedex.ne.jp
株式会社サイバービジョンホスティング提供サービス一覧
再販売用レンタルサーバーのSPEEDEX | VPS(仮想専用サーバー) | 共用サーバー | 独自ドメイン取得・運用 | SSLサーバー証明書 | ワイルドカードサーバー証明書 | SEO | Google Apps(TM) | クリエイティブワークの検索エンジン
|