Регулярное выражение в server_name и редирект

Вадим Бородин borodin.vadim на gmail.com
Вт Сен 20 14:27:42 UTC 2011


Здравствуйте.

Есть такой конфиг:

server {
    listen 80;
    server_name
~^(www\.)?mysite\.ru(\.(?<lc>[^.]+)\.(?<cluster>[^.]+)\.mypartysite\.name)?$;
    if ($lc = "") {
        set $lc rel;
    }
    if ($cluster = "") {
        set $cluster prod;
    }
    root   /srv/$cluster/$lc/mysite/htdocs;
        index  index.php
    location ~ \.php$ {
        # отдаётся на fastcgi php
    }
}

В /srv/prod/rel/mysite/htdocs есть директория static.

Заходим на http://mysite.ru/static/ - получаем 403 (это правильно,
autoindex'а нет)
Заходим на http://mysite.ru/static  - (без слеша на конце) получаем редирект
на http://~
^(www\.)?mysite\.ru(\.(?<lc>[^.]+)\.(?<cluster>[^.]+)\.mypartysite\.name)?$/
static/
Т.е. редирект на само регулярное выражение из server_name с дописанным в
начало http:// и дописанным в конец /static/.

Подскажите, пожалуйста, что происходит.

-- 
С уважением,
Бородин Вадим
borodin.vadim на gmail.com
skype: borodin_v_v
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20110920/1d1013df/attachment.html>


Подробная информация о списке рассылки nginx-ru