Re: Пару вопросов по location

Борис Долгов boris at dolgov.name
Mon Nov 9 19:15:03 MSK 2009


Добрый день!

9 ноября 2009 г. 18:46 пользователь diem <diem at pochta.ru> написал:
> Версия nginx - 0.7.63.
> 1) Очень было бы неплохо иметь возможность применять alias в именованных
> локэйшенах.
А как alias должен определять, какая часть URI - название папки, а
какая - уже имя запрашиваемого файла? В named location это не
указывается, и, получается, единственный логичный способ действия -
использовать alias так же, как root.

> 2) Как можно реализовать такое:
>   Для примера есть location
>
>       location ^~ /some_path/ {
>           auth_basic            "ACCESS DENIED";
>           auth_basic_user_file  /home/user/.passwd/sample_pass_file;
>       }
>
>   мне  нужно обработать запрос а потом перенаправить его дальше,
>
>       location ~ \.php$ {
>           fastcgi_pass   unix:/var/run/spawn-fcgi.sock;
>           fastcgi_param  SCRIPT_FILENAME
>  /home/user/site$fastcgi_script_name;
>           include fastcgi_params;
>       }
>
>   но чтобы текущий блок location (^~ /some_path/ ) игнорировался и запрос
> попал в (~ \.php$).
>   Таким образом комбинируя параметры, что-то похожее на include, но по
> локэйшенам.

Насколько я понимаю, в этом случае можно воспользоваться вложенными location:
location /some_path/ {
    auth_basic ....;
    location ~ \.php$ {
        fastcgi_pass ...;
    }
}

> 3) Можно ли направить запрос в именованный location, не под средством
> try_files и error_page, а на прямую, чтоб срабатывало
>   без каких либо условий, во всех случаях ?
>   Фактически тоже самое что и во втором пункте, но с именованными @
> локэйшенами.
На данный момент такой директивы нет. Можно писать error_page 4xx =
@named_location и выдавать return 4xx в location, где требуется
обработать запрос.


-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name


More information about the nginx-ru mailing list