← 回找工具
現場紀錄

我問它錯誤頁在不在,它說在,其實沒有

檢查「錯誤頁存不存在」最直覺的方法是去打開它。但在沒有錯誤頁的站上,那個網址本身就是假網址,它會回一切正常——用來檢查毛病的方法,被毛病本身騙過去了。

2026-09-17 · 作者整理:Lucas · 資安審稿後整理
資安審稿註記:本文已把「保證安全」「最強防線」等過度承諾改成保守表述;凡涉及金鑰、權限、刪除、提交、外部發送與自動化執行,均保留人工確認、沙盒或測試環境前提。

網站做完,我想確認一件小事:有人打錯網址的時候,會不會看到一個像樣的「找不到這一頁」。

我去問了。它說有。

後來才知道那個「有」是假的——我問的方式,剛好會被我想找的那個問題騙過去。

站台          打一個假網址的回應      錯誤頁
──────────────────────────────────────────
母網站        404,5,422 bytes       真的有
其他 8 支     200,整份首頁           沒有

我以為發生了什麼

要確認錯誤頁在不在,最直接的方法就是去打開它。它的網址是固定的:/404.html

我打開了,正常回應,狀態碼 200。那就是有。這個推理看起來沒有任何問題。

實際發生了什麼

2026-09-17,我對放在同一個平台上的 9 支站各丟一個不存在的網址。

只有 1 支回「找不到」。另外 8 支全部回「一切正常」,而且把整份首頁原封不動送出來。其中一支送了 653,894 bytes,而母網站那個真正的錯誤頁只有 5,422 bytes。

內容差了快 120 倍,狀態碼一模一樣,都是成功。

這代表在那 8 支站上,每一個打錯的網址都會變成一份首頁的複本。搜尋引擎爬到的話,它看到的是無限多個內容相同的網址。

官方文件寫了嗎

有寫,但不在你會主動去翻的地方。這個平台的預設行為是:找不到檔案時,回傳網站根目錄的首頁。你放一個叫 404.html 的檔案進去,行為就會改掉。

文件寫了怎麼做。沒有寫的是——在你放那個檔案之前,你所有的檢查都會通過。

你一定會踩的那個細節

問題出在 /404.html 這個網址本身。

在那 8 支站上,它也是一個不存在的檔案。所以它照樣回 200,照樣回整份首頁。我實測比對過長度:那幾支站的 /404.html 和首頁是同一個位元組數

用來檢查毛病的方法,被毛病本身騙過去了。

正確的檢查不能看狀態碼,要比內容:

一支站的錯誤頁到底在不在,兩個數字就問得出來:

  1. 抓 /一個一定不存在的假路徑/ 的內容長度
  2. 抓 / 的內容長度

  兩個數字一樣   → 錯誤頁不存在,平台把首頁當萬用答案
  兩個數字不一樣 → 錯誤頁真的在

不要去抓 /404.html。在壞掉的站上,
那個網址本身就是假網址,它會回 200 騙過你。

順帶一提,平台本身沒做錯任何事。把找不到的路徑導回首頁,對單頁式應用程式來說是必要的預設值。它只是不知道你的站不是那一種。

站內延伸

來源: 實測九支線上站台,2026-09-17。方法:對每支站的 /zzz-fake-path-9x7k2// 各抓一次,比對 HTTP 狀態碼與 Content-Length

檢查一件事在不在的時候,先問自己一個問題:如果它真的不在,我這個檢查會長什麼樣子。答不出來的話,那個檢查就還沒開始檢查任何東西。

← 看更多觀念總論
取得 AI 實戰工具與更新

之後會不定期整理:新方法、指令包(Prompt Pack)、Checklist 與模板。免費、無廣告;送出後會收到一封確認信,點了連結才算訂閱成功,之後每封信都附一鍵退訂。