为什么我的 PHP 应用不会发送 404 错误?
2022-08-30 06:54:02
if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
header('HTTP/1.0 404 Not Found');
}
为什么这行不通?我得到一个空白页。
if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
header('HTTP/1.0 404 Not Found');
}
为什么这行不通?我得到一个空白页。
您的代码在技术上是正确的。如果您查看该空白页的标题,则会看到 404 标头,其他计算机/程序将能够正确地将响应标识为找不到文件。
当然,您的用户仍然是SOL。通常,404由Web服务器处理。
问题是,一旦Web服务器开始处理PHP页面,它就已经通过了它将处理404的点。
除了提供 404 标头之外,PHP 现在还负责输出实际的 404 页面。
if (strstr($_SERVER['REQUEST_URI'],'index.php')){
header('HTTP/1.0 404 Not Found');
echo "<h1>404 Not Found</h1>";
echo "The page that you have requested could not be found.";
exit();
}
如果您查看最后两条回声线,您将看到内容。您可以根据需要对其进行自定义。