ПРОЕКТЫ 


  АРХИВ 


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: location



On Wed, Jun 30, 2010 at 10:02:46AM -0400, VadimK wrote:

> Есть конфиг, в нем указанно следующее
> [code]
>       server {
>               listen 80;
>               server_name ~^(.*)\.(.*\..*)\.x$;
>               set $x_document_root w:/www/$1.$2/;
>               
>               error_log  logs/error.log  debug;
>               access_log logs/access.log  main;               
>               index   index.php index.html;
> 
>               location ~ ^/asm/(.*\.php)$ {
>                   fastcgi_pass   127.0.0.1:521;
>                   fastcgi_param  SCRIPT_FILENAME 
> w:/www/core/$fastcgi_script_name;
>                   include        fastcgi_params;
>                   fastcgi_param DOCUMENT_ROOT $x_document_root;
>               }
>               
>               location ~ ^/asm/ {
>                       alias w:/www/core/asm/;
>               }               
>               
>         location ~ \.php$ {
>             fastcgi_pass   127.0.0.1:521;
>             fastcgi_index  index.php;
>             fastcgi_param  SCRIPT_FILENAME 
> $x_document_root$fastcgi_script_name;
>             include        fastcgi_params;
>         }
>       }
> [/code]
> 
> Т.е. по правилам, если я запрашиваю
> /asm/js/jquery/jquery.tablednd.js , то должна
> выполниться часть 
> [code]
>               location ~ ^/asm/ {
>                       alias w:/www/core/asm/;
>               }
> [/code]
> Оно в общем так и происходит, но всегда
> теряется первый символ в адресе
> запрашиваемой страницы. 

Потому что nginx заменяет первые 6 символов (длина "^/asm/") в запросе
на "w:/www/core/asm/". Правильно так:

        location ~ ^/asm/ {
                root w:/www/core;
        }

Кроме того,
        set $x_document_root w:/www/$1.$2/;
не нужно:

        server_name ~^(?<F>.*)\.(?<S>.*\..*)\.x$;
        root      w:/www/$F.$S/;

        location ~ ^/asm/(.*\.php)$ {
            ...
            fastcgi_param DOCUMENT_ROOT $document_root;
        }


-- 
Игорь Сысоев
http://sysoev.ru

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


 




Copyright © Lexa Software, 1996-2009.