500 Internal Server Error 表示伺服器遇到了未預期的狀況,因而無法完成要求。當沒有更具體的 5xx 狀態碼適用時,它就是伺服器端錯誤的統稱。
從外部幾乎看不出原因,因為伺服器不應透露內部細節。真正的原因記錄在伺服器的錯誤記錄、應用程式記錄或錯誤追蹤服務中:未捕捉的例外狀況、PHP 嚴重錯誤、資料庫連線失敗、.htaccess 中的語法錯誤,或伺服器無法理解的設定指令。
用戶端無法修正 500。如果問題只是暫時的,稍後重試或許就能成功。
回應範例
HTTP
HTTP/1.1 500 Internal Server Error
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1
Content-Length: 273
Connection: close
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
</body></html> SEO 與重新導向檢查
Google 一開始會將 5xx 錯誤視為暫時性的:Googlebot 會放慢檢索速度,已編入索引的網頁也會在索引中保留一段時間。如果錯誤持續存在,這些網址就會被移除。如果 robots.txt 本身回傳 5xx 錯誤,Google 會暫時將整個網站視為禁止檢索並暫停檢索;如果錯誤持續超過 30 天,Google 則會改用最後一次快取的 robots.txt 副本。
重新導向鏈中出現的 500,通常來自損壞的改寫規則。例如當改寫規則造成超過 10 次內部重新導向時,Apache 就會回傳 500(「Request exceeded the limit of 10 internal redirects」)。這樣的內部迴圈永遠不會以 3xx 躍點的形式出現;重新導向迴圈檢查能找出網址之間的迴圈,而內部迴圈則會以 500 的形式浮現。
常見原因與使用情境
- 應用程式(PHP、Node.js、Python 等)中發生未捕捉的例外狀況或嚴重錯誤。
.htaccess或伺服器設定中有無效的指令或語法錯誤。- 指令碼的檔案權限或擁有者設定錯誤。
- 資源耗盡(例如 PHP 的
memory_limit),或資料庫連線失敗。 - 改寫規則在內部形成迴圈。