2015-08-26 27 views
-1

我正在搞亂我的第一個Rack應用程序(這只是用於實驗)。如何使用Rack執行HTTP重定向(302)?

當有電話打進來我做這樣的事情:

class Application 
    def call(env) 
     # Totally ignore favicons for the time being 
     if env['PATH_INFO'] == '/favicon.ico' 
     return [ 404, {'Content-Type' => 'text/html'}, [] ] 
     elsif env['PATH_INFO'] == '/' 
     return [ 302, {'http-equiv' => "refresh", 'content' => "2;url=http://google.com"}, [] ] 
     end 
     ... 

我知道這是可怕的......但同樣,這不是一個嚴重的項目。

我想弄清楚如何做重定向。我有什麼不起作用。基本上,當您在我的網站上點擊/我想要將需要重定向到google.com。

+0

有兩個'在你的程序end'失蹤。它不會編譯沒有這些 –

+0

它不是我的意圖,它是可編譯的(你不能孤立地測試它)。我的意圖是表示使用省略號的代碼被省略了。 – RobertJoseph

回答

3

這裏正在與再直接應用谷歌

require 'rack' 
require 'rack/server' 

class HelloWorld 
    def response 
    [ 302, {'Location' =>"http://google.com"}, [] ] 
    end 
end 

class HelloWorldApp 
    def self.call(env) 
    HelloWorld.new.response 
    end 
end 

Rack::Server.start :app => HelloWorldApp