対象:ホームページ・Web制作
回答数: 3件
回答数: 7件
回答数: 3件
はじめまして。
現在WEBサイトの作成をしておりまして、日本語ページとは別に英語ページの作成をしました。
日本からのアクセスではindex.html(スプラッシュページ) → /top.htmlにページがジャンプするように作成をしているのですが、アメリカからのアクセスを/english/index.htmlへ振り分けたいです。
.htaccessファイルの編集で何とかなるのでしょうか。
ご教授願います。
pi_nattuさん ( 大阪府 / 女性 / 30歳 )
回答:2件
htaccessを使っての振り分け方法
こんにちは文です。
【htaccessを使って日本と海外を振り分ける方法】
1.IPアドレスを使って、日本国のIPかそれ以外のIPかで振り分けます。
日本以外のIPの場合、まずは制限します。
日本国のIPアドレスの一覧はAPNIC(アジア・太平洋地域のIPアドレス割り当てを行なう機関)
から取得できます。
添付されたhtaccessがその制限したものになります。
【※注意】
日本語対象の方が、日本への割り当てIPアドレスを必ず利用しているとは限らないので、
ご注意ください。
2.制限したIPアドレスを別のページにジャンプさせるようにします。制限した場合、
ページが「403 Forbidden」になるので、こうなったら以下のようにジャンプさせます。
ErrorDocument 403 /english/index.html
以上で、基本的には日本と海外の振り分けが出来ます。
あとは、javascriptやPHP、CGIを駆使すれば良いかと思われます。
【参考サイト】
http://www.yuzuriha.sakura.ne.jp/~akikan/kaigai/kaigai6.html
http://www.cgis.biz/tools/access/
以上、ご参考になればと思います。
評価・お礼
pi_nattuさん
ご丁寧にありがとうございました。
参考サイトも確認させていただきます。
回答専門家
- 運営 事務局
- (東京都 / 編集部)
- 専門家プロファイル
登録している専門家やQ&Aやコラムといったコンテンツをご紹介
専門家プロファイルに登録をしている皆様の記事や、Q&A、まとめ記事など編集部でピックアップしたものを定期的に配信していきます。よろしくお願いいたします。
運営 事務局が提供する商品・サービス
記事制作に関するご相談
竹波 哲司
Webプロデューサー
-
IPで判断するよりも・・・
はじめまして。
WEBコンサルティングをしております。
バンブーウエイブの竹波と申します。
さて、ご質問についてですが、できるかできないかでいえば、できます。
RewriteEngin On
RewriteCond %{REMOTE_ADDR} 192\.168\.0\.* [OR]
RewriteCond %{REMOTE_ADDR} 123\.456\.789\.0 [OR]
RewriteRule ^.*$ /english/index.html [L]
のような感じで、アメリカのアドレスを片っ端から書いていけば
うまくいくのではと思います。
しかし、現実的ではないでしょう。
REMOTE_HOSTで判断するのも手ですが、やはり列挙は避けれません。
**リファラーで振り分け
そこで、リファラーでもって、振り分けるというのも1つの手です。
おそらくは、大手の検索エンジンからサイトに来ることが多いのだと思いますので、
RewriteCond %{HTTP_REFERER} ^http://search\.yahoo\.com$ [NC]
RewriteRule ^.*$ /english/index.html [L]
とすれば、それほどたくさん列挙しなくてもOKなのではと思います。
ご参考になれば幸いです。
ホームページ制作のバンブーウエイブ
補足
ちなみに.htaccess以外の方法として、
javascriptで
navigator.browserLanguage
navigator.language
navigator.userLanguage
の値がenの場合には英語ページに遷移するようにする
という方法もありそうです。
評価・お礼
pi_nattuさん
ご丁寧にありがとうございます。
(現在のポイント:-pt)
このQ&Aに類似したQ&A
表示中のコンテンツに関連する専門家サービスランキング