動的な日本語サブドメインなサイトを作る方法

動的な日本語サブドメインなサイトを作る方法の紹介です。

などの動的なサブドメインを扱えるようになります。

お名前ドットコムで好きな日本語ドメインを取得

まずは、お好きな日本語ドメインを取得します。

ドメイン取るなら お名前.com - ドメイン取得 年間50円〜
日本語JPドメインは2年間で2500円ほどです。
ちなみに自分は「むぎ.jp」を取得してみました。

ネームサーバーの書き換え

日本語ドメインの取得が完了したらネームサーバーの管理をします。
お名前ドットコムのドメインNaviのネームサーバー変更のレンタルDNSレコードを修正します。

サブドメイン指定に「*」を使うのがポイントです。
自分のサーバーのIPアドレスは ifconfig や tracert サーバー名 などで調べられます。詳しくはグーグルで^^;
これでDNSの設定は終わりです。
反映に1日ほどかかるので気軽に待ちましょう。

自分の日本語ドメインPunycode変換でどう表示されるか調べる

次に自分の日本語ドメインPunycode変換でどう表示されるか調べます。
下記サイトで日本語ドメインPunycode変換してどう表示されるか調べられます。
日本語JPドメイン名のPunycode変換・逆変換 - 日本語.jp
ちなみに自分のサイトはこうなりました。

日本語ドメイン http://むぎ.jp/
Punycode変換 xn--x8j5e.jp

自分のPunycodeでの表記が分かったらWindowsMsDosプロンプトで

tracert xxx.xn--x8j5e.jp

などで xxx の部分に何を入れても同一のIPアドレスが表示されればOKです。

サーバー側の設定

これまでの作業で、とりあえずは動的なサブドメインなサイトは運営できるのですが、PHPPearライブラリを使うとどういったサブドメインでアクセスしてきたかが管理できます。
Punycode変換ができるNet_IDNA2
pearが入ってない場合はファイルをダウンロードして、includeパスを追加すればOKです。

<?php
//ini_set( 'include_path', '/usr/local/apache/htdocs/pear' );
header("Content-type: text/html; charset=utf-8");
require_once 'Net/IDNA2.php';
$idn = new Net_IDNA2();
$str = $_SERVER["HTTP_HOST"];
echo $result = $idn->decode( $str );
exit;
?>

これでサブドメインの運用がやりたい放題になります。
あとはデータベースと連携するなりすれば面白い日本語ドメインサイトが作成できるでしょう。
Twitterなどでどうにもリンク先がわからないなぁって場合に便利かと思います。
「http://二次元ハルヒ画像集1.萌え画像.jp」とか

その他

最初は.htaccessでなんとかならないかなぁって四苦八苦していたのですが、やはりDNSの設定でサブドメインの管理ありきで、結局は.htaccessを使用せず動的になサブドメイン作成ができました。
もちろん動的なサブドメイン管理ができた上で.htaccessを使用すれば、サブドメインごとに割り当てるフォルダを指定したりできます。
ただ、phpで振り分け処理をしたほうが、開発はラクな感じです。