Path: | KNOWN-ISSUES |
Last Update: | Fri May 03 03:12:46 -0400 2019 |
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.
* Many users have differing opinions about parameter parsing. The current parameter parsers in Rack are based on a combination of the HTTP and CGI specs, and are intended to round-trip encoding and decoding. There are some choices that may be viewed as deficiencies, specifically: - Rack does not create implicit arrays for multiple instances of a parameter - Rack returns nil when a value is not given - Rack does not support multi-type keys in parameters These issues or choices, will not be fixed before 2.0, if at all. They are very major breaking changes. Users are free to write alternative parameter parsers, and their own Request and Response wrappers. Moreover, users are encouraged to do so.