196 文字
1 分
マルチバイトサブドメインを使うときの設定
2009-11-26
タグなし

マルチバイトサブドメインとは、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>
マルチバイトサブドメインを使うときの設定
https://blog.teraren.com/posts/punycode/
作者
Yuki Matsukura
公開日
2009-11-26
ライセンス
CC BY-NC-SA 4.0

コメント