переменный root в location
Igor Sysoev
is at rambler-co.ru
Thu Feb 9 11:17:51 MSK 2006
On Thu, 9 Feb 2006, Alexey Popov wrote:
> Igor Sysoev пишет:
>>> Получается, что root нельзя переменными задавать? А как же сделать тогда?
>>> Все виртуальные хосты в конфиг вписывать нежелательно.
>> root в данном случае должен начинаться с "/":
>>
>> set $rootdir all/hosting/$4/$2/$3/$1/;
>> root /$rootdir;
> Сделал по твоей рекомендации:
> location / {
> if ($host ~* (([a-z0-9-])([a-z0-9-])[a-z0-9-]*)\.([a-z0-
> 9-]+\.[a-z]+)$) {
> set $rootdir all/hosting/$4/$2/$3/$1;
> }
> access_log /var/log/nginx8080_access_log 123;
> root /$rootdir;
> }
> Но не помогло:
> 2006/02/09 09:48:52 [error] 17480#0: *295 open() "/$rootdir/myfile.jpg"
> failed
> (2: No such file or directory), client: xx.xx.xx.xx, server: myhosting.ru,
> URL: "/
> myfile.jpg", host: "tm.myhosting.ru:8080"
>
> Пробовал и вариант Дмитрия Ермакова и вообще по-разному. Не работает. Что
> делать?
У меня на 0.3.27 вместо $rootdir ставится значение.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list