переменный root в location

Alexey Popov lol at chistydom.ru
Wed Feb 8 18:32:13 MSK 2006


Привет.

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;
}

Все время выдает 404, хотя корень вычисляется правильно. Добавил в лог 
$host и $rootdir:

xx.xx.xx.xx - - [08/Feb/2006:16:45:02 +0300] tm.myhosting.ru 
/all/hosting/myhosting.ru/t/m/tm/ "GET /myfile.jpg HTTP/1.1" 404 708 
"http://tm.myhosting.ru:8080/" "Mozilla/4.0 (compatible; MSIE 6.0; 
Windows NT 5.1; SV1; .NET CLR 1.1.4322)"

Файл /all/hosting/myhosting.ru/t/m/tm/myfile.jpg есть.
Что я делаю не так?

С уважением,
Alexey Popov





More information about the nginx-ru mailing list