如何使用Rack执行HTTP重定向(302)?

时间:2015-08-26 18:45:51

标签: ruby http rack

我正在搞乱我的第一个Rack应用程序(这只是为了实验)。

当有来电时,我会这样做:

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。

1 个答案:

答案 0 :(得分:5)

以下是重定向Google的工作应用

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