有没有办法在没有mod_rewrite的情况下使用Ruby on Rails将www.foo.com/*重定向到foo.com/*

时间:2011-03-28 04:46:14

标签: ruby-on-rails ruby http mod-rewrite heroku

我想将来自www.foo.com的任何请求重定向到foo.com。通常,我会使用mod_rewrite来执行此操作,并使用正则表达式来匹配任何子域。但是,我正在使用Heroku来托管这个应用程序,据我所知,这个应用程序没有给我这种能力。

Ruby on Rails有一种简单的方法可以做到这一点吗?谢谢!

2 个答案:

答案 0 :(得分:4)

您可以在ApplicationController中添加before_filter

class ApplicationController < ActionController::Base
  before_filter :redirect_www

  def redirect_www
    if /www/.match(request.host)
      redirect_to request.protocol + request.host_with_port + request.request_uri
    end
  end
end

答案 1 :(得分:1)

是的,您可以使用重定向。看看这里的重定向:

http://edgeguides.rubyonrails.org/routing.html