X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FCGI.pm;h=076f5b072bf8d07bb7dffc52289976eef26832cc;hp=0617742cfb45196bbf2eaeb9c62895454d66e50b;hb=fef8c827fc1a87b1c32c487e330b5e967874f581;hpb=24d2dfaf82495fd2a914b02c748d73d323f12242 diff --git a/lib/Catalyst/Engine/CGI.pm b/lib/Catalyst/Engine/CGI.pm index 0617742..076f5b0 100644 --- a/lib/Catalyst/Engine/CGI.pm +++ b/lib/Catalyst/Engine/CGI.pm @@ -154,6 +154,12 @@ sub prepare_path { my $scheme = $c->request->secure ? 'https' : 'http'; my $host = $ENV{HTTP_HOST} || $ENV{SERVER_NAME}; my $port = $ENV{SERVER_PORT} || 80; + + # fix up for IIS + if ($ENV{SERVER_SOFTWARE} && $ENV{SERVER_SOFTWARE} =~ m{IIS/[6-9]\.\d}) { + $ENV{PATH_INFO} =~ s/^\Q$ENV{SCRIPT_NAME}\E//; + } + my $script_name = $ENV{SCRIPT_NAME}; $script_name =~ s/([^$URI::uric])/$URI::Escape::escapes{$1}/go if $script_name;