if & request_body_file

Sergey Serov mpa at corg.net
Wed Oct 25 18:34:40 MSD 2006


On Wednesday 25 October 2006 17:56, Igor Sysoev wrote:
> On Wed, 25 Oct 2006, Sergey Serov wrote:
> > Незнаю, фича это или баг, но невозможно применить if к $request_body_file
> > Например:
> >
> > if ($request_body_file) {
> > }
> > fastcgi_param   PATH_INFO   $fastcgi_script_name$request_body_file;
> >
> > Приводит к тому, что $request_body_file становится пустым. Т.е. на
> > стороне fastcgi я не вижу пути в PATH_INFO.
> > Если же закоменнтировать if, то все нормально.
>
> Насколько я понимаю, директива выглядит так:
>
> if ($request_body_file) {
>      fastcgi_param   PATH_INFO   $fastcgi_script_name$request_body_file;
> }
>
> ?
>
> Это работать не будет.

Знаю, это я пример упростил. Изначально было так:

if ($request_body_file ~ (\d+)$) {
	set $num $1;
}
fastcgi_param   PATH_INFO   $fastcgi_script_name$num;

Любое использование $request_body_file в if приводило к потере значения.

> Что должно быть в PATH_INFO при отсутствии $request_body_file ?

Его не может не быть, т.к. сделано только на location куда идут только post 
запросы.

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





More information about the nginx-ru mailing list