memo

2011-01-21

nginx で Host の値から document root を動的に設定させる

lighttpd の simple-vhost みたいな動きというか。

Host ヘッダーの値と同名のディレクトリを探してそこを document root に設定する。 無ければ default ディレクトリを使用。

server {
    listen       80;
    server_name  _;

    set $vhost $host;

    if (!-d /var/www/vhosts/$vhost) {
        set $vhost 'default';
    }

    root /var/www/vhosts/$vhost;
}