[Catalyst-commits] r12084 - Catalyst-Runtime/5.80/branches/fix_path_info_decoding/lib/Catalyst/Engine

t0m at dev.catalyst.perl.org t0m at dev.catalyst.perl.org
Mon Nov 30 22:05:42 GMT 2009


Author: t0m
Date: 2009-11-30 22:05:41 +0000 (Mon, 30 Nov 2009)
New Revision: 12084

Modified:
   Catalyst-Runtime/5.80/branches/fix_path_info_decoding/lib/Catalyst/Engine/FastCGI.pm
Log:
Back out r12083, also clarify the docs - like this works for me now, and the bottom para seems the wrong way round...?

Modified: Catalyst-Runtime/5.80/branches/fix_path_info_decoding/lib/Catalyst/Engine/FastCGI.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/fix_path_info_decoding/lib/Catalyst/Engine/FastCGI.pm	2009-11-30 21:02:14 UTC (rev 12083)
+++ Catalyst-Runtime/5.80/branches/fix_path_info_decoding/lib/Catalyst/Engine/FastCGI.pm	2009-11-30 22:05:41 UTC (rev 12084)
@@ -234,9 +234,12 @@
     if ( $env->{SERVER_SOFTWARE} =~ /lighttpd/ ) {
         $env->{PATH_INFO} ||= delete $env->{SCRIPT_NAME};
     }
+    elsif ( $env->{SERVER_SOFTWARE} =~ /^nginx/ ) {
+        my $script_name = $env->{SCRIPT_NAME};
+        $env->{PATH_INFO} =~ s/^$script_name//g;
+    }
     # Fix the environment variables PATH_INFO and SCRIPT_NAME when running 
     # under IIS
-    # FIXME - How does this handle %7F?
     elsif ( $env->{SERVER_SOFTWARE} =~ /IIS\/[6-9]\.[0-9]/ ) {
         my @script_name = split(m!/!, $env->{PATH_INFO});
         my @path_translated = split(m!/|\\\\?!, $env->{PATH_TRANSLATED});
@@ -460,7 +463,7 @@
             fastcgi_param  CONTENT_TYPE       $content_type;
             fastcgi_param  CONTENT_LENGTH     $content_length;
 
-            fastcgi_param  PATH_INFO          $fastcgi_script_name;
+            fastcgi_param  PATH_INFO          /;
             fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
             fastcgi_param  REQUEST_URI        $request_uri;
             fastcgi_param  DOCUMENT_URI       $document_uri;
@@ -487,9 +490,9 @@
 
 =head3  Non-root configuration
 
-If you properly specify the PATH_INFO and SCRIPT_NAME parameters your 
-application will be accessible at any path.  The SCRIPT_NAME variable is the
-prefix of your application, and PATH_INFO would be everything in addition.
+If you properly specify the PATH_INFO and SCRIPT_NAME parameters your
+application will be accessible at any path.  The PATH_INFO variable is the
+prefix of your application, and SCRIPT_NAME would be everything in addition.
 
 As an example, if your application is rooted at /myapp, you would configure:
 




More information about the Catalyst-commits mailing list