【问题标题】:Declaring 404 status from middle of page code?从页面代码中间声明 404 状态?
【发布时间】:2014-05-09 06:06:41
【问题描述】:

Google 的网站管理员工具要求我发送正确的 404 信号,而不是“软 404”。我找到了生成错误的页面。我有一个网站,用户在其中创建图像,当 Google 尝试访问不再存在的图像时会出现错误。似乎编写它的开发人员已经在代码中准备了一条消息,说明何时发生这种情况,但 Google 并不高兴,因为它不是正确的 404。所以,在页面中间有这样的内容:

if ($empty_page)    {
    echo 'The image you are trying to view is no longer available.';
} else {....renders content...

在谷歌搜索问题后,我尝试了这样的事情:

if ($empty_page)    {
    header( "HTTP/1.1 404 Not Found" );
    echo 'The image you are trying to view is no longer available.';
} else {....renders content...

那行不通..我不认为?人们一直说它会生成一个标题,所以我查看了生成的页面的代码,但我在代码中的任何地方都没有看到“404”。那会是那个地方吗?请帮忙..我很迷茫>_

这还是 404 吗?应该是410吧?

【问题讨论】:

    标签: php html http-status-code-404 http-status-code-410


    【解决方案1】:

    您不需要在响应页面中看到 404。它在标题中。您可以在网络选项卡中使用 chrome 开发人员工具栏(或 firefox 上的 firebug)查看响应标头。

    这个标题应该可以解决问题。我建议在设置 404 标头和回显消息后立即退出。这将确保您在设置标题和打印未找到消息后不输出任何内容。

    【讨论】:

    • 谢谢!我刚刚下载了 Firebug 并正在对其进行测试。我看到了一些响应标头,但仍然没有 404。这是以下网址之一的示例:dolldivine.com/Pixie/hannahzoom-1855692
    • 哦等等..我在响应标题部分没有看到 404,但它确实在状态下显示“404 Not Found”。这是否意味着它正在工作? =O
    猜你喜欢
    • 2015-05-19
    • 2011-08-01
    • 1970-01-01
    • 2011-11-21
    • 2018-03-07
    • 2011-11-22
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多