Plack::Middleware::IIS6ScriptNameFix - fixes wrong SCRIPT_NAME and PATH_INFO that IIS6 sets
# in your app.psgi
use Plack::Builder;
builder {
  enable "IIS6ScriptNameFix";
  $app;
};
# Or from the command line
plackup -s FCGI -e 'enable "IIS6ScriptNameFix"' /path/to/app.psgi
This middleware fixes wrong SCRIPT_NAME and PATH_INFO set by IIS6.
By default, this middleware checks if SERVER_SOFTWARE PSGI environment matches what Microsoft IIS server 6-9 would set for FastCGI. By setting force to true (1), this middleware always applies the fix, regardless of the SERVER_SOFTWARE string.
Use this option if the environment is broken similar to IIS, or if the IIS is updated and the regular expression in this module doesn't match any more e.g. you're running IIS 10.
Florian Ragwitz