現在網頁使用https
已經是必備的,不使用https
會被chrome等瀏覽器到處打壓,因此最近在幫一些舊客戶將網域從http
升級https
不過添加了ssl之後,發現到綠鎖頭並沒有出現,導致這問題的原因,來自於當初的圖片路徑都是直接存網址,所以圖片路徑都還是http開頭的。
https只要網頁裡有一項資源不是https,綠鎖頭就不會出現。最近瀏覽器又祭出更狠的規定,如果在https的連線圖片不是https的話,圖片不會顯示。
為了要解決此問題,我們得將資料庫當中的圖片路徑,從http改成https開頭。
以下這個方法只適用於圖片路徑有在資料庫獨立一個欄位,假如圖片路徑是混和其他內容這方法就沒用了...
將http to https
方法一
將所有http
開頭的圖片網址改成https
UPDATE products
set img_url = REPLACE(img_url, 'http:', 'https:')
WHERE img_url like 'http:%';
方法二
將圖片網址去除掉http: 開頭,會變成剩下 //blog.aidec.tw/uploads/post/xxxxx.png
這樣的形式。
使用這種方式的好處是可以自動判斷網址是http開頭,還是https開頭的。
UPDATE products
set img_url = REPLACE(img_url, 'http:', '')
WHERE img_url like 'http:%';
方法三
只針對特定網域的圖片做修改。例如只把http://blog.aidec.tw
這個網域的圖,更新成https開頭。
UPDATE products
set img_url = REPLACE(img_url, 'http:', 'https:')
WHERE img_url like 'http://blog.aidec.tw%';
最後提醒一點,在執行SQL語句時,最好先將資料庫備份,以免執行錯誤!!
文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)
原文連結:
https://blog.aidec.tw/post/mysql-update-http-to-https
若有業務合作需求,可寫信至: opweb666@gmail.com
創業、網站經營相關內容未來將發布在 小易創業筆記