当前位置:  开发笔记 > 编程语言 > 正文

为什么我的PHP应用程序不会发送404错误?

如何解决《为什么我的PHP应用程序不会发送404错误?》经验,为你挑选了6个好方法。

您的代码在技术上是正确的.如果您查看该空白页面的标题,您将看到404标题,其他计算机/程序将能够正确识别未找到文件的响应.

当然,您的用户仍然是SOL.通常,404s由Web服务器处理.

用户:嘿,你在这个URI网络服务器上有什么东西吗?

网络服务员:不,我没有,404!这是一个显示404s的页面.

问题是,一旦Web服务器开始处理PHP页面,它已经通过它将处理404的点

用户:嘿,你在这个URI网络服务器上有什么东西吗?

Webserver:是的,我知道,这是一个PHP页面.它会告诉你响应代码是什么

PHP:嘿,OMG 404 !!!!!!!

网络服务器:好的废话,404页面的人已经回家了,所以我只会发送PHP给我的任何内容

除了提供404标头之外,PHP现在还负责输出实际的404页面.



1> Alan Storm..:

您的代码在技术上是正确的.如果您查看该空白页面的标题,您将看到404标题,其他计算机/程序将能够正确识别未找到文件的响应.

当然,您的用户仍然是SOL.通常,404s由Web服务器处理.

用户:嘿,你在这个URI网络服务器上有什么东西吗?

网络服务员:不,我没有,404!这是一个显示404s的页面.

问题是,一旦Web服务器开始处理PHP页面,它已经通过它将处理404的点

用户:嘿,你在这个URI网络服务器上有什么东西吗?

Webserver:是的,我知道,这是一个PHP页面.它会告诉你响应代码是什么

PHP:嘿,OMG 404 !!!!!!!

网络服务器:好的废话,404页面的人已经回家了,所以我只会发送PHP给我的任何内容

除了提供404标头之外,PHP现在还负责输出实际的404页面.


14岁的女孩与否,这个小小的俗气对话让我觉得这很有意义.
那应该是如何编写文档的!特别是Apache文档,我真的很讨厌:)
当时PHP _was_ 14
血淋淋的精彩解释!让我的一天!

2> Evan Fosmark..:
if (strstr($_SERVER['REQUEST_URI'],'index.php')){
    header('HTTP/1.0 404 Not Found');
    echo "

404 Not Found

"; echo "The page that you have requested could not be found."; exit(); }

如果您查看最后两条回波线,那么您将看到内容.您可以根据需要自定义它.



3> Bob Fanger..:

这是正确的行为,由您来创建404页面的内容.
蜘蛛和下载管理器使用404标头来确定文件是否存在.
(带有404标题的页面不会被谷歌或其他搜索引擎索引)

但普通用户不会查看http-header并将该页面用作普通页面.


FWIW,如果内容很短,则返回其标准的"未找到"页面(假设服务器只是说"未找到"并决定向用户显示更好的页面).

4> Silviu-Maria..:

对于记录,这是全案例处理程序:

 



5> 小智..:

加载默认服务器404页面,如果你有一个,例如为apache定义:

if(strstr($_SERVER['REQUEST_URI'],'index.php')){
  header('HTTP/1.0 404 Not Found');
  readfile('404missing.html');
  exit();
}


@AMB那是因为你必须自己创建该文件.

6> 小智..:

从PHP 5.4开始你就可以了 http_response_code(404);

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有