我强烈建议您使用
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
而不是
header("HTTP/1.1 404 Not Found");
我在 Apache/2.0.59 (Unix) 回答 HTTP/1.0 时遇到了很大的麻烦,而我(意外地)添加了一个“HTTP/1.1 200 Ok”头信息。
大多数页面显示正确,但在某些页面上,Apache 向其中添加了奇怪的内容
页面顶部(在任何 PHP 脚本输出之前)的 4 位十六进制代码,似乎是一种校验和,因为它会因页面和浏览器而异。(相同页面和浏览器下代码相同)
页面底部(在 PHP 脚本完全输出之后)的“0”
我花了好长时间才发现 HTTP 头信息中的协议错误。