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