FastCGIがいろいろうまくいかない
http://sinatra-book.gittr.com/に書いてあるFastCGI用設定は2010/5/4現在outdated。
set :logging, false set :server, "FastCGI"
のみでいいはず。
しかしPATH_INFOは空になるので、REQUEST_URIから適当にとってきてやる
class Rack::Handler::FastCGI class <<self alias rack_serve serve def serve(request, app) env = request.env parts = env['REQUEST_URI'].to_s.split('?') env['SCRIPT_NAME'] = '' env['PATH_INFO'] = parts[0] if env['PATH_INFO'] == '' rack_serve(request, app) end end end
結局これでもQUERY_STRINGが消えるとかいろいろ面倒になって後ろにthinおく事に。