サブドメインとディレクトリをマッピングする方法

mod_vhost_alias を使う。

例えば *.test.localhost に対して、設定する場合。

<VirtualHost *:80>
    ServerAlias *.test.localhost

    VirtualDocumentRoot /var/www/html/%0/default
    <Directory /var/www/html/*/default>
    </Directory>
</VirtualHost>

とする。

%0 の部分は下記のようになっている。

%0 hoge.test.localhost
%1 hoge
%2 test
%3 localhost

ただし、Alias を使っている場合は、"VirtualAlias" というものは存在しないため、
システム上のディレクトリにうまくマッピングできない。

Alias /test /var/www/html/%0/test

上記は書けない。
そこまでやりたい場合は mod_rewrite を使えということだろうか。