08.07.2011, 17:44, "Igor Sysoev" <igor@sysoev.ru>:
> 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>/.+)$ {
+ location ~ \.php(?<PATH_INFO>/.+)$ {
> ...
- fastcgi_param PATH_INFO $path_info;
+ fastcgi_param PATH_INFO $PATH_INFO;
> }
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
--
br, Denis F. Latypoff.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru