【发布时间】:2014-01-26 02:58:14
【问题描述】:
这应该是一个简单的问题,但我遇到了麻烦:如何让 php 触发 404 错误,以便用户看到的页面具有真正的 404 标头?我已经看到了几个答案,但没有一个对我有用,可能是因为我在 nginx 上。我试过了:
header("Status: 404 Not Found");
header("HTTP/1.0 404 Not Found");
当我尝试了所有这些(之后使用 exit() )时,服务器发送了一个 200 标头。
似乎这个问题已经在许多排列中被问过(Apache / php / 从服务器级别发送 404 等),但我很难找到尝试做我想做的事情的人。因此,如果这是重复的,我深表歉意 - 如果是,我不会感到惊讶,请告诉我。
谢谢 :) - 凯蒂
【问题讨论】:
-
你可以看这里,php.net/manual/en/function.http-response-code.php
If you pass no parameters then http_response_code will get the current status code. If you pass a parameter it will set the response code. -
@Shankar - 我正在使用 php 5.3,所以这是不行的,正在寻找替代方案以及更新 php 需要什么。
-
@Mixthos 是的,刚刚尝试过,它仍然返回 200。不过还是谢谢 :)
-
您是否在标头之前发送任何数据并关闭了错误?
-
尝试关闭该设置并重试
标签: nginx http-status-code-404 php