ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: root, alias и named location



Hello!

On Fri, Feb 18, 2011 at 11:45:30AM +0000, Max Ivanov wrote:

> Добрый день!
> Прошу помощи, т.к. оказался в ступоре по элементарному вопросу :)
> 
> Хочется при запросе /zzz/abc.php открывать файл /data/sites/misc/abc.php
> Хочется задавать обработку /zzz/ в подключаемом файле, чтоб его можно
> было использовать на многих сайтах, для этого хочется использовать
> именованный location.
> 
> Сейчас делаю так:
> 
> 
> location @misc_backend {
>           root /data/sites/misc/;
>           include /etc/nginx/settings/fastcgi.conf;
>           fastcgi_pass php_auth;
> }
> 
> location /zzz/ {
>         alias /data/sites/misc/;
> 
>         location ~ \.php$ {
>                 error_page  418 = @misc_backend;
>                 return 418;
>         }
> }
> 
> 
> Но все равно $uri  в @misc_backend остается /zzz/abc.php (а значит
> обрабатываться пытается /data/sites/misc/ , хотя вроде как директива
> alias должна была убрать /zzz/ из $uri как я понял из ее описания.

Всё, что написано в location /zzz/, действует ровно до того 
момента, как вы из этого location ушли, передав обработку в 
location @misc_backend.  Дальше начинает действовать то, что 
написано в location @misc_backend: а именно "root 
/data/sites/misc/" и никаких alias'ов.

Кроме того, со стандартным fastcgi.conf alias для location'ов, 
заданных регулярным выражением, будет жить будет плохо, негодно.  
Как-то так должно работать:

    location /zzz/ {
        alias /data/sites/misc/;

        location ~ \.php$ {
            fastcgi_pass   php_auth;
            fastcgi_param  SCRIPT_FILENAME  $request_filename;
            include fastcgi_params;
        }
    }

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.