Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: переменный root в location
On Wed, Feb 08, 2006 at 07:36:50PM +0300, Alexey Popov wrote:
> Привет.
Игорь приводил недавно похожий конфиг
location / {
set $host_part domen.ru;
if ($http_host ~* "^(.+)\.domen\.ru(:\d+)?$") {
set $host_part $1;
}
root /sites/$host_part;
}
т.е.
set $rootdir /$4/$2/$3/$1/;
...
root /all/hosting/$rootdir;
может так?
>
> Igor Sysoev пишет:
> >>nginx-0.3.20/FreeBSD 6-STABLE. Пытаюсь настроить отдачу файлов с
> >>виртуального хостинга, на котором корень сервера вычисляется по его
> >>имени (в апаче для этого используется mod_vhost_alias):
> >>
> >>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/08 19:32:35 [error] 597#0: *12102 open()
> "/usr/local/etc/nginx/$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"
>
> Получается, что root нельзя переменными задавать? А как же сделать
> тогда? Все виртуальные хосты в конфиг вписывать нежелательно.
>
> С уважением,
> Alexey Popov
--
Dmitriy Yermakov, CCS SUT
dyer@xxxxxx
|