LastModified http header 上的 500 内部服务器错误(无效字符)

500 Internal Server Error (invalid characters) on LastModified http header

我有一个 php 下载脚本,可以像这样发送 Last-Modified http header:

header("Last Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

在很长一段时间内都运行良好。 但是现在我试图在另一个项目中使用该脚本,并且此 header 行在 xampp.

中导致错误 500

日志文件显示消息:

AH02429: Response header name 'Last Modified' contains invalid characters, aborting request

我可以在 google 中找到的所有示例(例如 http-response-header-last-modified)和 甚至像 Mozilla-Last-Modified or rfc7232#2.2 这样的文档也建议使用相同的格式。 所以我真的很想知道为什么 apache/xampp 对 header 有问题。

正如 cbroe 所注意到的,我的 header-name 中有一个拼写错误。 关键是,也许旧服务器不会抱怨拼写错误 headers,而较新的服务器会触发 internal server error.

正确的行应该是

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

Last-Modified 而不是 Last Modified.