- ベストアンサー
静的サイトの多言語化について
- 静的ホームページにて、多言語化の処理を行いたい場合の方法について調べました。
- .htaccessを使用して、言語別のページを表示させる方法がありますが、具体的な方法については見つけることができませんでした。
- 上記のディレクトリ構造を使用して、ホームページを構築することを検討しています。ご教示いただけると助かります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>ご教示いただきました方法を試させていただきます。 でしたら、もう少し具体的に /root |- indexen.htm en |- indexjp.htm jp |- index.html |-- /jp |-- /en .htaccess AddType application/x-httpd-cgi index.html; 下位ホルダーの最上階8/en,/jp)には AddType text/html index.html; index.html #!usr/locla/bin/perl ・・・ if($request="jp"){ open(IN)・・・indexjp.htm while(<IN>){print;} } else{ if($ENV{'HTTP_ACCEPT_LANGUAGE'}=~/ja.+/){ open(IN)・・・indexjp.htm while(<IN>){print;} } else{ open(IN)・・・indexen.htm while(<IN>){print;} } 程度・・ 呼び出されたときに、サーバーの環境変数(HTTP_ACCEPT_LANGUAGE)に、ブラウザの言語が入りますから、それをつかって利用するページが変わる。 作成時は、CGIのファイル名を変えて置いて、indexen.htmをindex.htmlなどにして作成する。フォームで、ユーザーエージェントに関わらず、他の言語を選べるようにするとユーザーにも優しいかと・・
その他の回答 (3)
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 RewriteEngine on RewriteBase / RewriteCond %{HTTP:Accept-Language} ^ja [NC] RewriteRule ^(.\)$ /ja/$1 [R, L] RewriteCond %{HTTP:Accept-Language} ^en [NC] RewriteRule ^(.\)$ /en/$1 [R, L] とか・・・。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
色々な方法がありますが、リダイレクトを使ってもよいのですが、サイト構成がややこしくなります。 index.htmlをCGIとして動作させて、ユーザーエージェントの要求HTTPヘッダで、内容を変えるのがもっともスマートかもしれません。ユーザーに任意に選択させることも簡単に出来ます。
お礼
ご返信、そして、大変わかりやすいアドバイスをいただき、ありがとうございます。 ご教示いただきました方法を試させていただきます。 失礼いたします。
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 具体的に、どのようなアクセス(ロケーション)で、どこを表示させたいのか。 また、その際にリダイレクトしたいのかどうか・・・。 など、教えてください。
補足
ご返信ありがとうございます。 現在、検討しております内容は、 http://ドメイン/index.html ← こちらのページを閲覧いただいた際、 英語圏の方からのアクセスであれば → http://ドメイン/en/index.heml 日本の方からのアクセスであれば → http://ドメイン/ja/index.html のファイルを表示させようと考えております。 お手数をおかけ致しますが、何卒ご教示のほど、よろしくお願い致します。
お礼
大変わかりやすいご教示ありがとうございます。 参考にさせていただきます。