А чем не устраивает редирект в специальный location ?
В случае виртуальника конфиг получится раза в 2 меньше.. не 2 мегабайта,
а 1.
В остальном все ок.
Думаю пойти другим путем. Я добавил magic quote %host% в
X-Accel-Internal. Например proxy_set_header X-Accel-Internal /%host% -
таким образом mod_aclr вернет X-Accel-Redirect: /www.bla.ru/uri
Таким образом можно будет сделать все внутри одного блока server, т.е.
один Location / c описанием проксирования и множество Location
/www.sitename.ru. Одно но - для безопасности нужна проверка, что первая
часть Location совпадает с $host.
Можно пойти и дальше, если будет переменная в root как обещал Игорь, то
можно написать
location / { проксирование; X-Accel-Internal /internal/%host% }
location /internal/ {
internal;
if ($uri ~ ^/internal/$host/) {
rewrite ^/internal/([^/]+)/(.*)$ /$2 break;
root $root;
}
}
Ну или что-то вроде...