アメリカからアクセスするとA.html、日本からアクセスするとB.htmlが表示されるようにするにはどうしたらよいでしょう

回答の条件
  • 1人2回まで
  • 登録:2008/11/04 09:37:47
  • 終了:2008/11/11 09:40:02

回答(3件)

id:krese No.1

krese回答回数20ベストアンサー獲得回数42008/11/04 09:46:50

ポイント27pt

Accept-Languageというヘッダで基本的に見分けることができます。

http://www.studyinghttp.net/header#Accept-Language

ただしこちらは正確には「日本語を使う人」「英語を使う人」という括りになります。

.htaccessでアクセスを分けられます。

http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/negotiation...


「アメリカから」「日本から」という場合はIPアドレスでの判別になります。

MaxmindのgeoIPというものを用いれば可能です。

http://www.maxmind.com/app/geoip_country

こちらは使い方が結構複雑になります。

http://www.maxmind.com/app/mod_geoip

あたりをご参照ください。

その他geoIPで検索するといろいろ出てきます。

id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/11/04 10:12:38

ポイント27pt

Apacheをご利用という前提で回答します。


完全ではありませんが、アクセスしてきたホストの国別ドメインが日本であることを調べ、それに応じてジャンプ先を切り替えるということはできます。

国別ドメイン情報は「世界のドメイン情報」を参考にしてください。

これを、.htaccess に RewiteCond に記述し、RewiteRule にジャンプ先を記述します。

具体的な記述例は、「特定のホスト以外からの接続は別ページを表示」を参考にしてください。


ちなみに、国別IPアドレスで条件設定するなら、「Access allow list of each country for Apache」が役立ちます。

id:IGA-OS No.3

IGALOG回答回数3ベストアンサー獲得回数02008/11/04 13:35:40

ポイント26pt

Apacheのサーバーであれば、「.htaccess」のファイルを編集すれば、MultiViewsの機能を使って言語設定ごとに違うファイルを見せるようにすることができる。

例えば、ユーザーが「~/index.html」にアクセスしてきたときにページを分けたいと考えます。

日本語環境の人が見た場合は「index.ja.html」

アメリカ英語の環境からの場合は「index.en.html」

というページを表示させる場合、index.htmlの保存されている同一ディレクトリにて「.htaccess」のファイルに下記を書き込みま、保存します。


.htaccessのコード

AddLanguage ja .ja

AddLanguage ja-jp .ja

AddLanguage ja-jp-mac .ja

AddLanguage en-us .en

AddLanguage en .en

LanguagePriority ja ja-jp ja-jp-mac en-us en

Options +MultiViews

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません