我有一个动态评论系统,每页显示 30 条评论,当达到 30 条评论时,它会被分页。所以我有这样的页面
/reviews/city/Boston/
/reviews/city/Boston/Page/2/
/reviews/city/Boston/Page/3/
and so on and so forth
不幸的是,Google 似乎正在通过看似推理的方式为页面编制索引 - 例如
/reviews/city/Boston/Page/65/
此页面绝对不存在,我想通知 Google。目前它显示一个评论页面,但没有评论。我无法想象这对 SEO 非常有利。因此,如果首先检查我的 MySQL 查询的结果数,如果没有结果返回 404 并将它们转发到主页或其他页面,我将尝试做的事情。
目前,这就是我所拥有的。
if (!$validRevQuery) {
header("HTTP/1.0 404 Not Found");
header("Location: /index.php");
exit;
}
我走在正确的轨道上吗?
最佳答案
需要输出404状态,同时显示响应体(=错误页面)。
if (!$validRevQuery) {
http_response_code(404);
// output full HTML right here, like include '404.html'; or whatever
exit;
}
请注意,您不能在此处使用重定向。重定向是一种状态代码,就像 404 一样。您不能有两个状态代码。
关于php - 如果页面不存在则返回 404 # PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3925008/