переменный 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