簡體   English   中英

Rails-僅重定向到1頁的子域

[英]Rails - Redirect to Subdomain for 1 Page Only

我正在嘗試使用Rails 4路由將其重定向到僅一頁(購物車)的特定子域(“安全”)。 (我需要這樣做的原因是SSL證書僅在安全子域上可用。)當前,我具有以下內容:

  get '/cart' => redirect { |p, req| req.url.sub('http:// site.com', 'http://secure.site.com') }, :constraints => { :host => 'site.com' }

這行得通,但是當我希望它默認返回到根域時,用戶單擊的每個后續鏈接都會保留該安全子域(site.com;無www)。

實現此目標的最佳方法是什么?

這樣做的原因是通常所有鏈接href屬性都是相對路徑,所以是'/ controller / action'而不是' http://example.com/controller/action '。 相對路徑意味着假定相同的(子)域。

您可以將所有鏈接更改為使用_url而不是_path,但是我建議不要這樣做。

相反,我建議編寫一個機架中間件,然后根據完整路徑進行重定向,或者在應用程序服務器(nginx,apache等)配置級別進行處理。

甚至更好,為什么不將所有鏈接都放在https下? 聽起來對我來說是最好的方法:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM