ПРОЕКТЫ 


  АРХИВ 


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: Вопрос по логике нахождения файла для выполне ния


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Вопрос по логике нахождения файла для выполне ния
  • From: "Anatoly Matyakh" <protopartorg@xxxxxxxxx>
  • Date: Fri, 13 Jul 2007 01:10:56 +0300
  • Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:date:to:subject:from:organization:content-type:mime-version:references:content-transfer-encoding:message-id:in-reply-to:user-agent; b=JhHS1ivckfFjo2KKU9TmmADw9RJNvIrd1S6pNXBxHiK5PSTwqtBmYx/zYlN5rZrG3DtshJC3VVhtv3qXw/wkppNYNpMnC1YFtKkM74SGAMnEgTp7XcA+CsfCUmhU9DXZw99bfdpDKXoQjgZDnMPYeghOE95g0oul5cXwUKK64P0=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:date:to:subject:from:organization:content-type:mime-version:references:content-transfer-encoding:message-id:in-reply-to:user-agent; b=XY8UTgmFVmp0KopHHjf4zLqjYNg3JcjHk5aFPiTQ9WwYUN2VsfV5phMdUO5j16zVMvpmiOUjl5oh3oNiTRUySuY06SdBZpOCd0e/ZpvaZELhr2bPknTuZuW4nkYTh/cDKeYuB3GV2HnG5Kkmw+jo++NyHXGFCNJni0iN0IRlT2I=
  • In-reply-to: <1374854745.20070712201049@xxxxxxxxx>
  • Organization: Unseen University of Infospace
  • References: <20070712190118.02d6acf2.bender@xxxxxxx> <1374854745.20070712201049@xxxxxxxxx>

On Thu, 12 Jul 2007 19:10:49 +0300, Sergey Shepelev <temotor@xxxxxxxxx> wrote:

Возможность реализации:
rewrite ^http://domain/(file)/(param)/ /file;
set $php_param $2;

Что значит "нормальные" и "по стандарту"?

CGI VARIABLES : PATH_INFO

The extra path information, as given by the client. In other words, scripts
can be accessed by their virtual pathname, followed by extra information at
the end of this path. The extra information is sent as PATH_INFO.
This information should be decoded by the server if it comes from a URL
before it is passed to the CGI script.

Могу нагуглить цитату из собственно стандарта, где это описывается со всеми
регалиями. Указание "пути" после имени скрипта - абсолютно легальная и стандартная практика для CGI. Более того, часто это хорошо позволяет разграничить логику
запросов, например:

        http://myhost.tld/engine.php/news/comment/post?id=1234

Здесь скрипт - "engine.php", вызываемый метод (действие, action) -
"/news/comment/post", параметр метода - "id=1234". С нормальным диспетчером запросов
писать под такую логику - одно удовольствие.

У вас тут проблема несколько иного рода - поскольку nginx не является CGI-сервером, он и не обязан как-либо пережёвывать CGI-параметры. Соответственно, их надо скармливать бэкенду через описанное location. Выкусывать и передавать, или передавать хотя бы так:

        fastcgi_param PATH_INFO $fastcgi_script_name;


--
IT Philosopher



 




Copyright © Lexa Software, 1996-2009.