4

我有一种情况,一些用户可能会从链接等进入错误输入的页面。在大多数情况下,我可以确定应该显示的正确页面,因此我想重定向到正确的 URL。

在这种情况下是否适合 301 重定向。301 的意思是“永久移动”,但在这种情况下,文档一开始就不存在。设置 404 Not Found 标头,然后重定向到正确的 URL 是否合法?

4

8 回答 8

10

请注意 301,因为它的意思是“永久”,例如,即使您将来使用该 URL,搜索引擎也可能希望忽略它——因为他们“知道”该特定 URL 的内容已“永久”移动。

如果您想要重定向,请使用303 See Other,或者 - 更好地 - 显示 404 和链接到首选内容的友好错误消息。

于 2009-10-26T18:24:03.897 回答
4

我认为将用户带到“您的意思是”类型的页面将是我的偏好。如果您对“您的意思是”内容没有任何建议,请给他们一个真正的错误页面并 404。否则,将页面保留为状态 200 并让用户单击。

我倾向于使用 301 来重定向以前已知和完善的 URL,这些 URL 由于某种原因发生了更改。我担心自动重定向方法的原因是您的检测算法中的缺陷可能会对 SEO 产生负面影响。

于 2009-10-26T19:19:43.473 回答
3

我会使用 301。永久移动是合适的,因为它告诉访问的页面不存在并且永远不会存在。如果有人有指向该页面的链接,那么他们就知道应该更新该链接。

于 2009-10-26T18:21:07.053 回答
2

当您有理由确定您知道 URL 应该是什么时,301 是完全合适的。当面对损坏的传入链接时,它是浏览器和 SEO 的最佳解决方案。

但是 3xx 不适合作为一般的 page-not-found 响应。有些网站总是 302 你到 / 而不是返回 404,但这是一件很容易破坏东西的非常糟糕的事情。

于 2009-10-26T19:00:33.497 回答
1

我知道 404 可以包含重定向标头,但这对我来说听起来真的很糟糕。

于 2009-10-26T19:04:00.213 回答
0

您不能使用 404 文档进行重定向。也许只是显示一个 404 页面并建议一些正确的 URL。404 表示错误。我知道谷歌不会很高兴看到这些链接。:)

于 2009-10-26T18:19:22.813 回答
0

您只能响应一次 http 请求 - 您不能发送 404,然后发送 301。所以我认为您被 301 卡住了。

于 2009-10-26T18:20:25.590 回答
0

要么使用 301 并执行重定向,要么使用 404 并显示一条消息,如“我认为您的意思是“此 URL”;更新您的书签”(并且不要重定向)。

于 2009-10-26T18:21:06.900 回答