“404重定向”是一种合法的重定向吗?

时间:2009-10-26 18:16:14

标签: http redirect http-status-code-404 http-status-code-301

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

在这种情况下,301重定向是否合适。 301表示“永久移动”,但在这种情况下,文档首先不在那里。是否合法设置404 Not Found标头,然后重定向到正确的URL?

8 个答案:

答案 0 :(得分:10)

小心301,因为它意味着“永久”,例如即使您将来使用该URL,搜索引擎也可能会忽略它 - 因为他们“知道”该特定网址的内容已“永久”移动。

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:3)

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

答案 3 :(得分:2)

当您有理由确定知道URL应该是什么时,

301非常合适。这是浏览器和搜索引擎优化的最佳解决方案,面对破坏的传入链接。

然而,3xx不适合作为一般页面未找到的响应。有一些网站总是302你/而不是返回404,但这是一个非常糟糕的事情,很容易破坏东西。

答案 4 :(得分:1)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

你只能回复一次http请求 - 你不能发送404,然后发送301.所以你坚持使用301,我认为。

答案 7 :(得分:0)

要么使用301并进行重定向,要么使用404并显示“我认为你的意思是'此网址'而不是更新书签”的消息(和不要重定向)。