---
name: "Plack::Middleware::IIS6ScriptNameFix"
section: "3pm"
platform: "linux"
package: "libplack-perl"
version: "1.0051-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Plack::Middleware::IIS6ScriptNameFix"
---

# Plack::Middleware::IIS6ScriptNameFix(3pm)

fixes wrong SCRIPT\_NAME and PATH\_INFO that IIS6 sets

## NAME

Plack::Middleware::IIS6ScriptNameFix - fixes wrong SCRIPT\_NAME and PATH\_INFO that IIS6 sets

## SYNOPSIS

```
  # 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
```

## DESCRIPTION

This middleware fixes wrong `"SCRIPT_NAME"` and `"PATH_INFO"` set by IIS6.

## OPTIONS

- force

  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.

## AUTHORS

Florian Ragwitz
