【发布时间】:2015-07-22 07:27:59
【问题描述】:
我正在使用 PHP 编写脚本,有时我需要抛出“404 Not Found”状态消息。我试过这个:
<?php
header($_SERVER['SERVER_PROTOCOL']." 404 Not Found");
header("Location: 404.html");
exit();
?>
但它会将用户重定向到404.html 页面,我认为这样做不是一个好习惯。相反,我想让用户保持在他访问的同一页面上,抛出 404 状态代码并显示 404.html 内容。
我也尝试在我的重写规则中设置错误页面,它工作正常。但我希望 PHP 显示 404 文件的内容以及 404 状态码。
我也试过这样做:
<?php
header($_SERVER['SERVER_PROTOCOL']." 404 Not Found");
exit();
但这只会给出 404 状态码和空白页。我想获取 404.html 或 404.php 文件的内容。
【问题讨论】:
-
你可以
require()header()下面的404.php文件。 -
Location 指令请求重定向到浏览器...使用 http_response_code() 设置 http 状态代码,不会重定向到该页面,而是使用 require 或 include 包含它。
标签: php html error-handling http-status-code-404