網站之前並沒有開啟https協議。
所有的鏈接都是絕對鏈接,幾乎沒有相對鏈接。
現在的狀況是開啟https後所有的絕對連結失效,圖片失效。因網站頁面較多,請問各位有沒有什麼辦法可以批次更改連結的?
網站之前並沒有開啟https協議。
所有的鏈接都是絕對鏈接,幾乎沒有相對鏈接。
現在的狀況是開啟https後所有的絕對連結失效,圖片失效。因網站頁面較多,請問各位有沒有什麼辦法可以批次更改連結的?
直接使用 WEB
伺服器做永久重定向 ,NGINX
為例
<code>server{ listen 80; server_name test.com; #告诉浏览器2年有效期内只准用 https 访问 add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #永久重定向到 https 站点 return 301 https://$server_name$request_uri; }</code>
如果實在沒有權限設定配置,那麼寫個腳本批量替換一下羅,或者把程式碼下載到本地,然後用IDE批量替換一下。 修改前請先做備份
類似功能腳本
<code>sed -i "s/http:\/\/www.old.com/https:\/\/www.old.com/g" `grep http://www.old.com -rl /path/to/project`</code>
https://imququ.com/post/sth-a...
歷史悠久的大站在往 HTTPS 遷移的過程中,工作量往往非常巨大,尤其是將所有資源都替換為 HTTPS 這一步,很容易產生疏漏。即使所有程式碼都確認沒有問題,很可能某些從資料庫讀取的欄位中還存在 HTTP 連結。
而透過 upgrade-insecure-requests 這個 CSP 指令,可以讓瀏覽器幫忙做這個轉換。啟用這個策略後,有兩個變化:
頁面所有HTTP 資源,會被替換為HTTPS 地址再發起請求;
頁面所有站內鏈接,點擊後會被替換為HTTPS 地址再跳轉;
跟其它所有CSP 規則一樣,這個指令也有兩種方式來啟用,具體格式請參考上一節。要注意的是 upgrade-insecure-requests 只替換協定部分,所以只適用於 HTTP/HTTPS 網域和路徑完全一致的場景。
一般編譯軟體都有一鍵替換的功能。
重寫url應該可以
你的網站不會是全靜態頁面吧?如果不是那就改模板,還有,URL一般是透過一個指定函數產生的吧,改函數就可以了,圖片路徑,如果是資料庫裡的就批量替換一下就好了,頁面圖片文件,模板改一下就好了嘛
現在知道封裝的重要性了吧
403跳轉唄;