TrueURL
TrueURL

菜单

500 服务器内部错误

500 Internal Server Error 是通用的服务器端故障:服务器上出了问题,例如应用崩溃或配置文件损坏。

原因短语
Internal Server Error
是否重定向
否
默认可缓存
否

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 放慢抓取速度,已编入索引的页面也会在索引中保留一段时间。如果错误持续存在,这些 URL 就会被移除。如果 robots.txt 本身返回 5xx 错误,Google 会暂时把整个网站视为禁止抓取并暂停抓取;如果错误持续超过 30 天,Google 会改用上次缓存的 robots.txt 副本。

重定向链中出现 500,往往源于有问题的重写规则。例如,当重写规则导致超过 10 次内部重定向时,Apache 会返回 500(“Request exceeded the limit of 10 internal redirects”)。这种内部循环永远不会显示为 3xx 跳;重定向循环检测能找出 URL 之间的循环,而内部循环则会表现为 500。

常见原因与使用场景

  • 应用中出现未捕获的异常或致命错误(PHP、Node.js、Python 等)。
  • .htaccess 或服务器配置中有无效的指令或语法错误。
  • 脚本的文件权限或所有者设置错误。
  • 资源耗尽(例如超出 PHP 的 memory_limit),或数据库连接失败。
  • 重写规则在内部形成循环。

URL 重定向检测

使用免费的 TrueURL 重定向检测工具,逐跳查看一个 URL 返回的每一个状态码。