我想将多个条目重定向到我的着陆页上的一个URL。
以下URL:http://mysite.com
和http://www.mysite.com
,将使用301重定向重定向到http://www.mysite.com/
。在Rails中应该如何实现这个功能?
我想将多个条目重定向到我的着陆页上的一个URL。
以下URL:http://mysite.com
和http://www.mysite.com
,将使用301重定向重定向到http://www.mysite.com/
。在Rails中应该如何实现这个功能?
在Rails中使用301重定向
class RedirectController < ApplicationController
def index
redirect_to :root, :status => :moved_permanently
end
end
我没有尝试过这个,但是应该可以这样做:
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
但我不确定主机属性中是否包含尾部斜杠...
root_url
和 request.host
不匹配(即不包含 www)。 - Ryan Taylor