首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回404如果不存在页面# PHP

返回404如果不存在页面# PHP
EN

Stack Overflow用户
提问于 2010-10-13 14:54:33
回答 3查看 2K关注 0票数 1

我有一个动态审查系统到位,显示每页30个评论,并在达到30个评论,它是分页。所以我有这样的页面

/评论/城市/波士顿/ /评论/城市/波士顿/页/2/ /评论/城市/波士顿/页/3/ 以此类推

不幸的是,Google似乎是通过似乎是推理来索引页面的,例如

/评论/城市/波士顿/页/65/

这页绝对不存在,我想通知谷歌这一点。目前,它显示一个审查页面,但没有审阅。我无法想象这是非常好的搜索引擎优化。因此,如果首先检查MySQL查询的结果#,如果没有结果,则返回404并将其转发到主页或其他页面,那么我要做的是。

目前,这就是我所拥有的。

代码语言:javascript
复制
if (!$validRevQuery) {
    header("HTTP/1.0 404 Not Found");
    header("Location: /index.php");
    exit;
}

我在正确的轨道上吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-13 14:57:15

您需要输出404状态,同时显示响应体(=错误页)。

代码语言:javascript
复制
if (!$validRevQuery) {
    http_response_code(404);
    // output full HTML right here, like include '404.html'; or whatever
    exit;
}

注意,您不能在这里使用重定向。A重定向是一种状态代码,就像404是。你不能有两个状态代码。

票数 4
EN

Stack Overflow用户

发布于 2010-10-13 14:56:54

您不能同时发送404状态代码和重定向(通常是3xx状态码)。您只能执行其中一个操作:要么发送404状态代码和错误文档,要么通过重定向进行响应。

票数 1
EN

Stack Overflow用户

发布于 2010-10-13 16:15:38

正如Pekka所建议的,最好的选择是执行404状态,然后将404页代码放在之后。这是错误的做法SEO,如果你只是301 (重定向)的网页,因为然后搜索引擎将继续访问该网页,以看看是否重定向仍然存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3925008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档