【发布时间】:2014-06-24 04:42:09
【问题描述】:
使用 php,我可以在 $_SERVER 数组中看到索引“REDIRECT_STATUS”,但 php.net 没有提及它。我有一个抛出 404 的自定义错误页面,但“REDIRECT_STATUS”仍然是 200。那么状态代码到底指的是什么?
【问题讨论】:
-
This should shed some light(取自 php.net $_SERVER 手册) -
是的,我看到了,但它并没有以我能理解的方式真正解释。
-
这些变量来自任何正在运行的 PHP ......在你的情况下,可能是你的网络服务器。你用的是什么服务器?
-
正如 Brad 所说,这是由 Web 服务器设置的(PHP 只是使其在
$_SERVER超全局中可用)——它不是 HTTP 请求标头。对于 Apache,如果是自定义 404ErrorDocument,则应将其设置为404。但是,如果它不是 Apache,那么它可能不是。 This old bug post 似乎表明 lighttpd 在 404 的情况下将其设置为 200。 -
@w3dk - 响应晚了大约一年,但它是 Apache (v2.4),不,它没有抛出 404,这是我所期望的,也是我发现它如此奇怪的原因。
标签: php http-headers