![](/img/trans.png)
[英]Ruby on Rails - Locomotive for version 2.3.8 — is there such a thing?
[英]Ruby on Rails 2.3.8: is there a way to always forward to the https version of an url?
因此,在我的某些數據庫記錄中,有一個對象“內容”具有主體,就像文檔一樣。 有時,主體的URL指向我的應用服務器上的圖像。 這些URL中有許多是HTTP。
無論如何,是否會將所有HTTP請求重定向到HTTPS?
我正在使用Rails 2.3.8
和回形針寶石
由於某些瀏覽器安全設置將在查看HTTPS頁面時阻止HTTP資產,因此您不希望在Web服務器級別(例如mod_rewrite)執行此操作,因為某些瀏覽器無法做到這一點。
您不想在視圖或控制器級別處理此問題-模型是您在其中執行業務規則(例如將其全部保留為HTTPS)的地方。
1)防止保存HTTP鏈接
class Content < ActiveRecord::Base
...
before_validation :force_https
def force_https
unless body.nil?
self.body.gsub! /http:\/\/my\.app\.server/, 'https://my.app.server'
end
end
...
end
2)清理現有內容
啟動控制台並運行以下命令:
Content.all.each do |c|
c.update_attribute 'body',
c.body.gsub(/http:\/\/my\.app\.server/, 'https://my.app.server')
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.