マルチバイトサブドメインを使うときの設定

マルチバイトサブドメインとは、http://テスト.example.com/のように、マルチバイトを含んだサブドメインのホストへアクセスすることを言う。
普通は、Punycode (RFC 3492)を利用して、エンコードする。テスト.example.comの場合はxn--zckzah.example.comとなる。
しかし、ブラウザ(携帯端末)がRFC 3492対応していなかったり、マルチバイトサブドメインを含んだURLを貼り付けた掲示板がPunycodeを想定していない場合(Youtube)があるため、サービス提供者側でいくつかのエンコード形式でアクセスされたときのことを想定しておかなければならない。具体的には以下の3つ。
- Punycode
- UTF-8のurlencode
- UTF-8
Apacheの設定は以下のようになる。
” http://テスト.example.com” の場合
<virtualhost *:80> ServerName xn--zckzah.example.com DocumentRoot /var/www/path/to/htdocs </virtualhost> <virtualhost *:80> ServerName %83e%83X%83g.example.com Redirect permanent / http://xn--zckzah.example.com/ </virtualhost> <virtualhost *:80> ServerName テスト.example.com Redirect permanent / http://xn--zckzah.example.com/ </virtualhost>
| 印刷 | この記事は Yuki Matsukura によって 2009/11/26 木曜日 11:37:39 に投稿されました, apache 以下に保存されています。 RSS 2.0 を通してコメントをフォローする。 コメントを残すか、ご自分のサイトからトラックバックできます。 |