1
我已经成功地使用代码来重定向来自example.com我的应用程序www.example.com如何重定向到www.example.com/products从example.com/products用Rails 2.3.3
我用如下:
class ApplicationController < ActionController::Base
before_filter :ensure_domain
APP_DOMAIN = "www.example.com"
NAKED_DOMAIN = "example.com"
protected
def ensure_domain
if request.env['HTTP_HOST'] == NAKED_DOMAIN && RAILS_ENV =='production'
#HTTP 301 is a permanent redirect
redirect_to "http://#{APP_DOMAIN}", :status => 301
end
end
这适用于转到主页的链接。
但是我刚刚意识到,如果我有以下网址:
example.com/products
用户获得在www.example.com重定向到主页,不www.example。 com/products
如何重定向到用户尝试访问的URL,但是www.example.com根目录而不是example.com根目录。
换句话说,如果用户希望以下内容:
example.com/products
我送他们到
www.example.com/products
感谢您的任何援助。
我在Heroku上托管。 我正在使用Zerigo DNS。当我尝试使用DNS将所有流量从裸域转发到www.example.com域时,该URL仍显示裸域。
所以,没有工作。
这最好由您的服务器完成,而不是由您的应用程序代码完成。你需要捕获所有从未到达轨道的网址,比如静态资产等......重新发布你的问题,包括你正在使用的服务器的详细信息,或者在你的DNS设置中甚至更好 – jamesc
查看我更新的答案。 – jamesc