こないだこの記事書いたときはmod_rewriteでやったんですけど、mod_vhost_alias使ったらもっと簡単に出来るらしい。mod_vhost_aliasは標準でインストールされないので、コンパイルオプションに--enable-vhost-aliasを追加する。
ref.
- ユーザ毎にバーチャルホストを設定する方法 (Tips)
- サブドメインを動的につくる
- Apache バーチャルホストで自動サブドメイン作成 : システム構築に関する覚書
- Apache でサブドメインとユーザーディレクトリ
DocumentRootと書くところを、
VirtualDocumentRoot /path/to/vhost/document_root/%1
のように書けば%1がホスト名に変換されるらしい。便利だ。%0,%1他、変数の説明はapacheの公式に書いてる。