Re: Переменные окружения сервера в url-decoded формате

Igor Sysoev igor на sysoev.ru
Пт Июл 8 10:43:52 UTC 2011


On Jul 8, 2011, at 14:30 , locojohn wrote:

> Увы, cgi.fix_pathinfo=1 уже стоит в php.ini.  И это не
> меняет дело.  Дело в том, что, похоже,
> директива fastcgi_param автоматически
> url-енкодирует передаваемые строки в
> окружение.   Например:
> 
> set $test $uri;
> fastcgi_param TEST $test;
> 
> если оригинальный $request_uri содержит
> пробелы, то они снова енкодируются и
> становятся уже не %20 а %24%24%20, в
> результате чего TEST не будет содержать
> правильный путь.

Как именно получается PATH_INFO ? Если rewrite/set,
то кодируется. Нужно так:

location ~ \.php(<?PATH_INFO>/.+)$ {
      ...
      fastcgi_param  PATH_INFO  $path_info;
}


--
Igor Sysoev
http://sysoev.ru/en/




Подробная информация о списке рассылки nginx-ru