同一路徑 Windows 能開、Linux 卻 404:先核檔名大小寫

模板的圖片在 Windows 開得到,放上 Linux 站點後卻是 404。先把瀏覽器請求的完整路徑和實際檔名並排看:Logo.svg 與 logo.svg,在區分大小寫的目錄裡是兩個不同名稱。

先比路徑,別先改偽靜態

打開 DevTools 的 Network,點失敗圖片,記下請求的 URL。再到存放檔案的目錄核對每一段:/assets/Logo.svg 中,assets 的大小寫、檔名和副檔名都要一致。若 Linux 上只存在 Logo.svg,模板卻引用 logo.svg,改路由規則未必能解決。

例如,放一個 assets/Logo.svg 在 Linux 原生 ext4 目錄,由靜態檔案伺服器提供:正確大小寫的網址回應 200,小寫網址回應 404。在這個例子裡,根因是檔名不匹配。另一個 Windows 目錄的大小寫屬性未啟用,同一檔案則能用兩種名稱開啟。

Windows 與 WSL 也要看實際目錄

不能只看作業系統名稱。Windows 支援目錄層級的大小寫屬性;WSL 裡掛載的 Windows 路徑,也不等於 Linux 原生檔案系統。若要核對 Windows 目錄,使用只讀查詢,將路徑換成自己的素材目錄:

fsutil.exe file queryCaseSensitiveInfo "C:\site\assets"

Linux 端可用 findmnt -T /你的素材目錄 查檔案系統,再查看實際檔名。不要為了一張失效圖片,直接切換整個目錄或系統的大小寫設定;這可能影響其他工具找檔案。

修一處引用,再檢查其他頁面

先備份模板檔,讓圖片引用與已存在的檔名一致;重新整理頁面,確認該圖片實際載入,再檢查共用頁首、列表和詳情頁是否也引用同一資源。若需要重新命名,先找出全部引用,避免修首頁卻弄壞其他頁面。回滾時只還原自己的引用或命名變更。

404 只表示伺服器沒有找到請求資源,不能單憑狀態碼認定是大小寫。檔案沒上傳、目錄位置不同、路由、存取規則都可能造成類似結果;大小寫對得上後仍失敗,就接著查這些項目,而不是反覆清快取。

參考資料

資料核對:2026年10月4日。文件與網站環境可能更新,操作前請核對自己的設定。

原文鏈接:https://wntheme.com/windows-linux-file-path-case-404/,轉載請註明出處。
0
顯示驗證碼
沒有帳號?註冊  忘記密碼?