我有一个动态审核系统,每页显示30条评论,在达到30条评论时,它会被分页。所以我有
这样的页面/评论/城市/波士顿/
/评论/城市/波士顿/页/ 2 /
/评论/城市/波士顿/页/ 3 /
依旧等等
不幸的是,Google似乎正在通过看似推理的内容来索引页面 - 例如
/评论/城市/波士顿/页/ 65 /
此页面绝对不存在,我想通知Google。目前它显示评论页面但没有评论。我无法想象这对SEO非常有益。那么,如果首先检查我的MySQL查询的结果数量,并且如果没有结果返回404并将它们转发到主页或其他页面,我想要做什么。
目前,这就是我所拥有的。
if (!$validRevQuery) {
header("HTTP/1.0 404 Not Found");
header("Location: /index.php");
exit;
}
我是在正确的轨道上吗?
答案 0 :(得分:4)
重定向是状态代码,就像404一样。您不能拥有两个状态代码。
您需要输出404状态,并同时显示响应正文(=错误页面)。
if (!$validRevQuery) {
header("HTTP/1.0 404 Not Found");
.... output full HTML structure here .....
exit;
}
答案 1 :(得分:0)
您不能同时发送404状态代码并执行重定向(通常为3xx status code)。您只能执行以下操作之一:发送404状态代码,错误文档或通过重定向进行响应。
答案 2 :(得分:0)
正如Pekka建议的那样,最好的选择是进行404状态,然后将404页面代码放在其后。 如果您只是301(重定向)页面,那么搜索引擎优化是不好的做法,因为搜索引擎将继续访问该页面,以查看重定向是否仍在那里。