2010-07-21 75 views
7

我想爲朋友做一個應用程序,但他共享主機,唯一的選擇是fcgi,我找不到有關如何操作的任何文檔。 FCGI上有沒有辦法運行rails 3?Rails 3和FCGI?

+1

就算你能得到它的工作,它可能心不是一個好主意.... – 2010-07-21 04:04:43

+4

無論JSP/ASP m紫苑。 – BiscottiLighter 2010-07-21 04:44:53

回答

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中找到的名稱之後很適合我。另外請注意,他在.htaccess中使用RAILS_RELATIVE_URL_ROOT實際上是他自己創建的,用於config/routes.rb – rogerdpack 2011-04-29 13:32:38