MacCMS 換了網站域名,文字和選單都正常,海報卻一排空白。先別重新採集全部影片:網頁的域名、海報存放的主機,以及模板把圖片欄位組成的網址,可能是三個不同位置。先找出瀏覽器實際向哪裡要圖,才知道要修資料、模板還是資源主機。
先拿一張海報追到完整網址
選一筆你有權管理、換域名前能正常顯示的影片,打開它的詳情頁。在電腦 Chrome 按 F12,切到 Network/網路,選 Img 後重新整理;若圖片要捲動才載入,先把海報捲進畫面。找到對應圖片請求,記下完整 Request URL、狀態碼,以及回應是否真的能預覽成圖片。
懶載入模板可能先放一張占位圖,再由腳本讀取另一個圖片屬性。右鍵複製圖片網址能提供線索,但 Network 裡實際發出的請求更適合拿來判斷。不要把灰色占位圖的地址誤認為影片海報,也不要只截空白卡片,漏掉出錯的網址。
例如打開第 53 套的演示影片 963 詳情頁,海報載入的是同一 Demo 主機下的 /static/images/thumbnails/thumbnail_6.webp,不是模板廣告占位圖所在的 /template/wntheme53/asset/images/placeholders/。畫面裡都是圖片,實際用途與目錄卻不同。排查自己的站時,也先找出屬於那筆影片的請求。
分清網站地址、欄位值與圖片主機
把三項並排記下:目前頁面的網址、內容編輯頁保存的圖片值、瀏覽器最後請求的圖片網址。MacCMS 的 vod_pic 是影片圖片欄位,vod_pic_thumb 是縮略圖欄位;實際卡片使用哪個欄位,要看該模板。不能因為其中一個欄位有圖,就判定首頁、詳情及輪播一定都取同一張。
圖片值可以是完整網址,也可能是需要處理的路徑。MacCMS Club 的影片欄位文件要求透過 mac_url_img 處理圖片路徑,別假設每筆資料已是完整 URL。詳情頁的當前影片通常用 $obj,列表迴圈內則用 $vo,先依文件核對上下文。
<img src="{$obj.vod_pic|mac_url_img}" alt="{$obj.vod_name}">
上面是詳情圖片欄位的基本輸出示例,用來理解取值位置。已購模板可能有懶載入、圖片備援或多尺寸處理,調整前應保留原本完整寫法,不能只用這一行覆蓋整個海報區。
用網址形態縮小換域名後的問題
若欄位裡是 https://old.example/upload/poster.webp,它已指定舊主機。把網站改成新域名,不會自動讓這串完整地址改向新主機。先確認舊地址是否仍可讀,再確認新站有沒有相同檔案及正確公開路徑。這裡的 old.example 只是地址示例,不是需要開啟的網站。
若輸出是 /upload/poster.webp,瀏覽器會使用當前網站主機。原圖只留在舊伺服器,新主機沒有該檔案時,就可能出現 404。先核對檔案搬遷範圍,而不是立即批量改每筆圖片資料。
若圖片指向獨立資源主機,例如 https://images.example/poster.webp,網站換域名後,圖片本來就可能繼續使用它。此時要確認資源主機的 HTTPS、存取限制及實際回應;不必為了所有網址看起來一致,硬把圖片改成網站域名。
以上三種地址的修正位置不同。尤其不應直接把資料庫所有舊域名文字一次替換:同一內容裡可能還有播放、下載、來源及外部連結,圖片搬家並不授權一起改掉它們。
網址對了,再查回應與頁面限制
先按共通點分組,比逐張換圖更容易找到修正位置。若失效圖片都指向舊主機、但模板圖示仍能載入,優先核那個圖片主機;若只有新搬進來的幾筆失效,則比較新舊資料保存的路徑。若首頁和詳情同一影片都缺圖,記下兩頁的圖片請求是否相同;不同時,先分開處理各自的取值。
還可以選一張新主機已存在的圖片,直接打開它的完整地址作對照。對照圖正常、問題圖 404,代表至少這個公開目錄有可讀檔案,下一步查問題檔名與搬遷結果;它不代表整個 upload 目錄全部完整。如果兩張都打不開,也不能只憑前台判定檔案已被刪除,仍需要維護者核檔案與公開路徑。
手動修一筆之前,先保存原圖片值,不只保存畫面截圖。修正後再打開相同內容 ID;如果影片標題已變成另一筆,這次比較就失去基準。檢查列表時也用同一筆,而不是以首頁另一張能載入的海報代替。
404 先對照完整目錄與檔名;403 則查看資源主機是否限制來源或權限。200 時仍打開 Preview 看內容:登入頁、錯誤 HTML 或占位圖都可能有正常回應碼,卻不是要顯示的海報。若請求根本沒有發出,回到圖片標籤與懶載入腳本,確認圖片進入畫面後是否有啟動。
圖片地址能單獨開啟,但放在 HTTPS 頁面裡仍不顯示時,也要看 Console/主控台有沒有混合內容或安全政策訊息。單獨開圖與嵌在頁面內是不同情境;記下瀏覽器實際訊息,再請維護者處理對應限制,不要先停掉整站保護。
先修一筆,再決定是否需要批次處理
在可回復的測試副本中,保留那筆內容原有圖片值及相關模板,選擇一張自己有權使用、已確認可讀的圖片。只調整已找出的那一處,再檢查同一影片在首頁卡片、分類卡片和詳情頁的海報。三處可能有不同圖片欄位、裁切及載入方式,都應等到實際載入後再判斷。
如果詳情恢復、分類仍空白,回查分類實際取用的欄位與請求,別把「其中一頁有圖」當全站修復。若這一筆確認是舊資源主機失效,才盤點使用相同前綴的資料,先列出受影響範圍、備份與回退方法,再由維護者執行有界限的批次修正。
交給維護者的資料可以很短:出錯頁面、影片 ID、原圖片值、最後請求網址、狀態碼與最近搬遷內容。不要夾帶登入 Cookie 或完整資料庫設定。若你正在換模板,也可先讀模板更新前的備份檢查清單,把圖片及資料備份一起保留。

評論0