2010-07-21 10 views
7

Je veux faire une application pour un ami mais il a partagé l'hébergement et la seule option est fcgi et je ne trouve aucune documentation sur la façon de le faire. Y a-t-il de toute façon des rails 3 sur FCGI?Rails 3 et FCGI?

+1

même si vous pouvez le faire fonctionner, il n'est probablement pas un bonne idée .... –

+4

Peu importe JSP/ASP m aster. – BiscottiLighter

Répondre

7

Mettre en public/whatever.fcgi

#!/usr/bin/ruby 

require_relative '../config/environment' 

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(YOURAPPNAME::Application) 

Vérifiez l'exemple application here

+0

Merci, votre exemple a bien fonctionné pour moi, après avoir remplacé YOURAPPNAME par celui trouvé dans config/application.rb. Notez également que son utilisation de RAILS_RELATIVE_URL_ROOT dans .htaccess est en fait sa propre création, utilisée dans config/routes.rb – rogerdpack