【问题标题】:Is a "404 redirect" a legitimate redirect?“404 重定向”是合法的重定向吗?
【发布时间】:2010-12-10 05:31:44
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 其实可以的。 HTTP 状态标头与位置标头不同,因此您可以将其替换为 404 标头 + 新 URL。但这并不意味着这是一个好主意,这就是问题所在。
    【解决方案2】:

    您只能响应一次 http 请求 - 您不能先发送 404,然后再发送 301。所以我认为您只能使用 301。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 你不知道在那个特定的 URL 永远不会有页面。
        • 是的。尽管在许多情况下您可以做出很好的猜测。我不会那么担心。
        • 我的情况与 Stack Overflow 类似,只有部分 URL 实际定义了内容。因此,输入错误的页面永远不会存在。
        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-01-24
                • 1970-01-01
                • 2011-01-31
                • 2017-08-07
                • 2015-03-20
                • 2011-11-30
                • 1970-01-01
                • 2018-03-31
                相关资源
                最近更新 更多