[Catalyst] request uri under lighttpd/fastcgi contains extra slash

Jim Spath jspath at pangeamedia.com
Fri Nov 9 16:26:36 GMT 2007


When I run Catalyst out of a non root webserver location, e.g. /myapp, 
$c->request->uri has an extra slash after the base url.

   http://mydomain.com/myapp//
   http://mydomain.com/myapp//some/action

Catalyst::Engine::CGI::prepare_path() is setting $base_path to /myapp/, 
which is correct, but then to create the full path used in 
$c->request->uri, it appends $ENV{PATH_INFO} to this base_path, which 
appears to always begin with a slash, resulting in the double slash I am 
seeing.

FYI, my lighttpd fastcgi config looks like:

  $HTTP["url"] =~ "^/myapp/(?!static)" {
   fastcgi.server = (
    "/myapp" => (
      "MyApp" => (
        ...
      ),
    ),
   ),
  }

and I am currently running Catalyst 5.7007.  I'd prefer a solution that 
doesn't involve upgrading Catalyst... if that is possible.

- Jim



More information about the Catalyst mailing list