.htaccessで言語別にリダイレクトする。

htaccess_redirect.jpg
英語版、日本語版など言語別にページ(サイト)を分けている場合に
英語のユーザーを別のページにリダイレクトしたい場合の.htaccessの設定・・・に四苦八苦したのでそのメモです。
まず、言語設定で日本語を使用しているユーザーのために、

AddLanguage ja .ja
AddLanguage ja-jp .ja
AddLanguage ja-jp-mac .ja

とします。

これでhttp://yoursite.comにアクセスした際に
http://yoursite.com/index.html.jaを読み込みます。

※jaが標準だと思うのですが、アクセスログを見ますと
ja-jp ja-jp-mac なるものがあったので、念のため追加しています。

同様に英語も
AddLanguage en-us .en
AddLanguage en .en

とします。

これでhttp://yoursite.comにアクセスした際に
http://yoursite.com/index.html.enを読み込みます。

こちらはen-usがアメリカ用で、
enがその他の英語圏・・・と言うことだと思います。

次に、それぞれの言語の優先順位を設定し、MultiViewsを有効にします。
日本語ユーザーであっても英語を許可していたり、
またその逆もあり得るので、設定した方がよいと思われます。
※左から優先度高→低となります。

LanguagePriority ja ja-jp ja-jp-mac en-us en
Options +MultiViews


これについてはja ja-jp ja-jp-macはindex.html.ja
en-us enはindex.html.enを読むように設定していますので、あまり意味は無いかもしれません。

注意したいのは、index.html.jaあるいは.enにindex.htmlにリダイレクトするようなコードを書いてしまうと、無限ループになります・・・というかなりましたので、注意して下さい。

まとめ
.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

をサーバのルートフォルダにアップロード。

日本語用HTMLをindex.html.ja
英語用用HTMLをindex.html.en
というファイル名で、それぞれアップロード。

※あんまり自信がないので、自己責任でお願いします・・・。
タグ:.htaccess
posted by digital-squad at 2007年08月31日 10時00分 | Comment(0) | TrackBack(1) | サーバ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック

Multiviews
Excerpt: 複数言語に対応するwebページを作っているときに、 ・とりあえず検索エンジンに拾われたい ・URLの表示上は複数に見えなくしたい ・アクセスしてきたユーザの言語環境(場所じゃなくて)  によって対応す..
Weblog: ESCAPE WHILE YOU CAN
Tracked: 2010-04-11 22:56