2010-07-21 5 views
7

Я хочу сделать приложение для друга, но он имеет общий хостинг, и единственный вариант - fcgi, и я не могу найти документацию о том, как это сделать. Есть ли какие-либо пути для запуска рельсов 3 на FCGI?Rails 3 и FCGI?

+1

даже если вы можете получить его работу это вероятно не хорошая идея .... –

+4

Независимо от JSP/ASP m астры. – BiscottiLighter

ответ

7

Помещенные в общественных местах/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) 

Проверьте этот пример приложению here

+0

Спасибо, ваш пример сработал для меня, заменив YOURAPPNAME тем, что нашел в config/application.rb. Также обратите внимание, что его использование RAILS_RELATIVE_URL_ROOT в .htaccess на самом деле является его собственным созданием, используемым в config/routes.rb – rogerdpack