把海報外鏈的 http:// 換成 https://,圖片仍然空白,先別再反覆換網址。HTTPS 只處理傳輸連線;那個主機是否提供同一路徑、最後回應是不是圖片,以及瀏覽器有沒有允許這個請求,都要另外核對。
先看瀏覽器最後向哪個地址要圖
在電腦 Chrome 開啟出問題的頁面,按 F12,切到 Network/網路,選 Img 後重新整理。把海報捲進畫面,找到對應請求,再查看完整 Request URL、狀態碼及重新導向。原始圖片標籤寫 HTTP,不代表最後發出的請求仍是 HTTP。
MDN 的混合內容說明指出,HTTPS 頁面引用不安全的 HTTP 資源會產生混合內容問題。某些圖片請求會被瀏覽器自動升級到 HTTPS,其他情況則可能被阻擋。應以 Console/主控台的升級或阻擋訊息,以及 Network 的實際請求判斷,不只看你手動改過的字串。
例如頁面中的 img src 指向 http://images.example/poster.svg,瀏覽器可能改用 https://images.example/poster.svg。這只是地址示例;自動升級不會替圖片主機部署 HTTPS,也不會替它建立缺少的檔案。
普通圖片與候選圖不要混在一起看
別假設所有圖片都採用同一種升級方式。MDN 把一般 img src 與 srcset、picture 等情況分開說明;地址使用 IP 而非域名時,也有不同的阻擋條件。找到錯誤訊息後,回查是哪一個實際標籤發出請求。
MacCMS 模板可能先顯示占位圖,再由懶載入腳本讀取另一個海報地址。修改了 src,但腳本仍拿舊 HTTP 海報時,正式載入後還是可能失敗。相反,先看到一張可讀的占位圖,也不能證明影片海報已載入。用實際請求對照該筆影片,比在整頁搜尋一個 HTTP 字串更可靠。
有候選圖的頁面,要看當下選中的 currentSrc 及相應 Network 請求;但不要把這一步變成整站改圖片尺寸。這裡要找的是是否引用不安全地址,以及最後請求能否提供圖片,不是比較哪張圖容量較小。
網址已是 HTTPS,先確認連線能成立
若瀏覽器出現憑證或連線錯誤,來源主機需要先提供正確的 HTTPS 服務。證書名稱、有效期及服務設定由資源主機的維護者處理;網站模板加上一個 s,不能修好那端的連線。不要為了讓海報出現,要求訪客略過憑證警告或停用安全檢查。
如果海報來源由你管理,核對 HTTPS 主機、該圖片的完整公開路徑,以及是否有轉回 HTTP 的重新導向。若是第三方來源,先詢問它有沒有可用且獲准使用的 HTTPS 圖片入口;沒有時,換成有權使用、可穩定提供的素材,不把任意外鏈複製到自己主機來繞過權限。
200 回應還要看它裝了什麼
請求成功後,點開 Preview/預覽及 Response/回應。真正的圖片應能被瀏覽器解碼,而不是登入頁、驗證提示、錯誤 HTML 或替代占位圖。看 Response Headers 的 Content-Type,再與內容及預覽互相對照,不能只看網址副檔名。
一個簡單的圖片回應示例中,兩個網址都回 200:第一個回 image/svg+xml 與可解碼的圖形,第二個回 text/html 與錯誤提示。兩者都完成 HTTP 請求,但第二個放進 img 後無法解碼成海報。因此「打開有頁面」與「作為海報成功顯示」是兩個判斷。
若標頭聲稱是圖片,內容卻無法預覽,仍可能是檔案損壞或回應不符合格式。保留實際回應給維護者核對,不要只把副檔名換成 jpg。改名不會把 HTML 內容轉成圖片,也不會修好傳輸中斷的檔案。
403、404 與瀏覽器阻擋各有下一步
404 先核 HTTPS 路徑是否真的存在,尤其 HTTP 與 HTTPS 是否由不同位置提供內容。403 先查來源主機允許的存取條件;單獨開圖片與放進網站頁面,可能帶不同的來源資訊,因此不能只以單獨開圖成功就結案。
若 Network 顯示請求被瀏覽器阻擋、沒有取得來源回應,先讀 Console 指出的是混合內容還是內容安全政策。這種情況不能直接叫作來源主機 403。把瀏覽器限制與伺服器回應分清,維護者才不會在錯的一端改設定。
也不要看到外部主機就先加 CORS 標頭。一般 img 顯示與用腳本讀取圖片內容是不同用途;先確認當前操作及實際錯誤,再處理相應限制。沒有權限的來源應按提供者規則使用,而不是偽造來源資訊去避開限制。
確認修正的是影片海報,而非其他圖片欄位
MacCMS 的 vod_pic 是影片圖片欄位,縮略圖及幻燈圖另有欄位。詳情有圖、列表沒有時,對照兩頁實際海報請求與取用欄位;修了主圖並不保證輪播或縮略圖已跟著換。
圖片路徑可透過 mac_url_img 處理;它是路徑輸出的部分流程,不能據此保證任意外部主機都支援 HTTPS 或允許你的網站嵌圖。先保存原值與模板寫法,選一筆自己的內容作小範圍調整,再核列表、詳情與輪播的實際圖片。
如果是網站換域名後才缺圖,但沒有混合內容訊息,主要差異是圖片仍指向舊主機,應另查圖片主機與搬遷路徑。這和「來源已是 HTTPS,卻回了錯誤內容」是不同原因,不要為了看到結果就同時改多種設定。
用一個可重現請求交給維護者
保留出錯頁面、影片 ID、最後圖片網址、Console 的相關訊息及來源回應。網址含權杖或登入資料時先遮蔽;公開圖說也不應帶可用憑證。修正後回到相同頁面及同一張海報,等懶載入完成,再確認請求與解碼都正常。
最後再看一個共用該圖片地址的列表入口,避免只修單獨開圖。瀏覽器已接受請求、來源也送出可解碼的圖片,才完成這張海報的載入檢查;圖片是否裁切合適、整站速度是否改善,則另外驗收。

評論0