2012-04-07 176 views
15

我想将多个条目重定向到我的着陆页到一个URL。Rails 301重定向

以下网址http://mysite.comhttp://www.mysite.com将使用301重定向重定向到http://www.mysite.com/。如何/应该这样做在Rails中?

+0

您使用的网络服务器哪? – alex 2012-04-07 15:10:00

回答

3

我用此post并决定使用非www网址重定向。

17

我没有尝试这一点,但这样的事情应该工作:

class ApplicationController < ActionController::Base 
    before_filter :correct_domain! 

    private 
    def correct_domain! 
    unless request.host == 'www.mysite.com' 
     redirect_to root_url, :status => 301 # or explicitly 'http://www.mysite.com/' 
    end 
    end 
end 

但我不知道,如果尾随斜线是存在于宿主属性...

+0

感谢Vapire,但是当我将其添加到我的应用程序控制器时,我收到重定向循环错误。 – Dru 2012-04-07 18:14:46

+0

需要在家庭控制器中完成,对我来说效果很好。 – creativetechnologist 2012-07-06 19:21:42

+0

@Dru只是一个猜测,但也许你的'''root_url'''与你的'''request.host'''不匹配(即不包含www)。 – 2014-11-17 20:09:18

10

Rails中使用301重定向

class RedirectController < ApplicationController 
    def index 
    redirect_to :root, :status => :moved_permanently 
    end 
end