--- /dev/null
+= Known issues with Rack and Web servers
+
+* Lighttpd sets wrong SCRIPT_NAME and PATH_INFO if you mount your
+ FastCGI app at "/". This can be fixed by using this middleware:
+
+ class LighttpdScriptNameFix
+ def initialize(app)
+ @app = app
+ end
+
+ def call(env)
+ env["PATH_INFO"] = env["SCRIPT_NAME"].to_s + env["PATH_INFO"].to_s
+ env["SCRIPT_NAME"] = ""
+ @app.call(env)
+ end
+ end
+
+ Of course, use this only when your app runs at "/".
+
+ Since lighttpd 1.4.23, you also can use the "fix-root-scriptname" flag
+ in fastcgi.server.