QA@IT

サブドメイン自動生成システムについて

3616 PV

こんにちは。
以前一度だけここで質問させていただき、迅速に満足のいく回答をいただいたのでまたここで質問させて頂こうと思います。
今回の質問は、サブドメイン自動生成+ディレクトリ以下にコンテンツを自動生成するシステムについてです。

具体的には、livedoor blogやどのブログシステムでもそうだと思うのですが、ユーザーが会員登録した後や、新規のブログを立ち上げたときに、http://自分の好きな文字列.livedoor.blog.jpなどのように、サブドメインを大量に自動生成していると思います。
さらに、そのサブドメインから自分の新しいブログが閲覧できるようになります。

システムの面からいって、このようなサブドメイン、コンテンツ(ブログの場合、新しいブログページ)の自動生成はどのような技術で可能になるのでしょうか?
ちなみに、フレームワークはcakephpを使用しています。
何かアドバイスを頂けたらと思います。よろしくお願い致します。

回答

CakePHPでサーバーにApacheを使っている場合は mod_rewriteという機能を使うことになります。

詳しくは『mod_rewrite サブドメイン』あたりで検索して頂くとして、簡単に動作を説明すると

foo.example.com にアクセスがあったら example.com/myprog.php?arg=fooに転送するという処理を行います。

編集 履歴 (0)
  • 前回に引き続き、ご回答ありがとうございました。
    なるほど、mod_rewriteを使うのですね。
    それを学べば、リダイレクトの設定はできそうです。
    もう1つお聞きしたいことがありましたが、それはまた別のスレッドを立てさせて頂きたいと思います。ありがとうございました!
    -

既に回答されているように mod_rewrite でアプリケーション側が判別できるような形でドメイン名が判るような形に書き換えたり、あるいは HTTP の Host ヘッダー($_SERVER["HTTP_HOST"])を見ても良いかもしれません。

それとは別に、XXX.example.net の任意の XXX を同じ IP アドレスに向けるためにネームサーバにワイルドカード CNAME の登録が必要です。

例えば次のように登録します。

example.net zone snippet

www             IN      A       192.0.2.123
*               IN      CNAME   www
編集 履歴 (0)
  • ngyuki様、ご回答ありがとうございました!
    サーバー側の処理については分からないことばかりなので初歩的な質問でしたが、少しイメージが湧きました。
    またよろしくお願い致します。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。