【问题标题】:How do I generate a 404 Error in PHP? [duplicate]如何在 PHP 中生成 404 错误? [复制]
【发布时间】:2014-01-01 18:16:02
【问题描述】:

我想知道是否有办法在 PHP 中模拟 404 错误。例如,我有这个 URL:www.mydomain.com/user/[Username],它重定向到 /profile.php?user=[username]。如果用户名未注册,我希望服务器显示我的 404 错误页面。

[PHP]这里是一些示例代码:

<?
   if (notRegistered($_GET['user'])) {
        // Throw 404 Error
   }
?>

提前致谢。

【问题讨论】:

  • 这是 401 错误。我不知道如何使用 404..
  • 您在其中放置了 404 错误消息而不是 401 错误消息!
  • 没用.. header('404 Not Found');
  • 使用答案中的代码而不是问题!
  • 因此搜索引擎不会为页面编制索引,以利于您的测试套件等

标签: php .htaccess


【解决方案1】:

HTTP 通过标头报告状态代码。使用PHP中的header()函数设置状态码:

if (notRegistered($_GET['user'])) {
     header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
     exit(1);
}

您可能还想向浏览器发送错误页面:

if (notRegistered($_GET['user'])) {
     header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
     readfile('path/to/error404.html');
     exit(1);
}

$_SERVER\['SERVER_PROTOCOL'\] 将包含HTTP/1.0HTTP/1.1

【讨论】:

  • 对我不起作用..
  • Doesn't work 是什么意思?
  • 我尝试了第一个选项,但似乎没有任何反应。所以,你的意思是我必须手动包含我的 404 错误页面?
  • 是的,完全正确... 最简单的测试是:echo 'Not found';.. 之后您可以准备糖果 404.html。 ;)
  • “浏览器的”404 页面总是来自服务器。你误会了
猜你喜欢
  • 1970-01-01
  • 2010-10-23
  • 2014-06-12
  • 2017-07-25
  • 2018-06-25
  • 2017-08-07
  • 2020-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多