fastcgi server variables vs. apache
locojohn
nginx-forum at nginx.us
Thu Jul 7 17:22:01 MSD 2011
Dear Igor,
According to my understanding, either way PATH_INFO is set to
url-encoded string, while according to CGI 1.1 specification, it should
contain the url-decoded string. Which brings troubles when there are
spaces in file names, for instance.
I am using nginx 1.0.4 and this still seems like an issue. Is there a
way to pass url-decoded strings over to fastcgi applications?
Thank you in advance for response!
Andrejs
Igor Sysoev Wrote:
-------------------------------------------------------
> On Wed, Dec 16, 2009 at 08:40:17AM -0500, spirit
> wrote:
>
> if (in fact you can't), you can still set
> variables to do so. Example
> >
> >
> > set $script index.php;
> > set $path_info "";
> > if ($uri ~ "^(.+\.php)(.*)") {
> > set $script $1;
> > set $path_info $2;
> > }
> > fastcgi_param PATH_INFO $path_info;
> > ....
>
> It's better to use fastcgi_split_path_info:
>
> location ~ ^(.+\.php)(.*)$ {
> fastcgi_split_path_info
> ^(.+\.php)(.*)$;
> fastcgi_param SCRIPT_FILENAME
> /path/to/php$fastcgi_script_name;
> fastcgi_param PATH_INFO
> $fastcgi_path_info;
>
> or named captures:
>
> location ~
> ^(?<script_name>.+\.php)(?<path_info>.*)$ {
>
> fastcgi_param SCRIPT_FILENAME
> /path/to/php$script_name;
> fastcgi_param PATH_INFO
> $path_info;
>
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,866,212002#msg-212002
More information about the nginx
mailing list