diff --git a/public/dispatch.fcgi b/public/dispatch.fcgi index 42b02205..cd3edf47 100755 --- a/public/dispatch.fcgi +++ b/public/dispatch.fcgi @@ -1,24 +1,24 @@ #!/usr/bin/env ruby # -# You may specify the path to the FastCGI crash log (a log of unhandled -# exceptions which forced the FastCGI instance to exit, great for debugging) -# and the number of requests to process before running garbage collection. -# -# By default, the FastCGI crash log is RAILS_ROOT/log/fastcgi.crash.log -# and the GC period is nil (turned off). A reasonable number of requests -# could range from 10-100 depending on the memory footprint of your app. -# -# Example: -# # Default log path, normal GC behavior. -# RailsFCGIHandler.process! -# -# # Default log path, 50 requests between GC. -# RailsFCGIHandler.process! nil, 50 -# -# # Custom log path, normal GC behavior. -# RailsFCGIHandler.process! '/var/log/myapp_fcgi_crash.log' +# It requires rails 3 # require File.dirname(__FILE__) + "/../config/environment" -require 'fcgi_handler' +require 'rack' +require 'fcgi' + +class Rack::PathInfoRewriter + def initialize(app) + @app = app + end + + def call(env) + env.delete('SCRIPT_NAME') + parts = env['REQUEST_URI'].split('?') + env['PATH_INFO'] = parts[0] + env['QUERY_STRING'] = parts[1].to_s + @app.call(env) + end +end + +Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(Tracksapp::Application) -RailsFCGIHandler.process! \ No newline at end of file