首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用301/302重定向

使用301/302重定向
EN

Stack Overflow用户
提问于 2014-08-11 16:43:15
回答 1查看 67关注 0票数 0

我的网站有一个文章列表,每篇文章都是未发布的,并发布了多次。

当published标志为off (0)时,将无法再访问该文章。

当文章不再可访问时,我将用户重定向到主页,我尝试使用301重定向:

代码语言:javascript
复制
header("Location: /", true, 301);

当一篇文章发布,然后取消发布,然后再次发布时,浏览器似乎缓存了指向主页的未发布重定向,您不能再查看该文章-即使它的已发布标志设置为1。

所以我试了302:

代码语言:javascript
复制
header("Location: /", true, 302);

但我一直在读到不建议使用这种方法。

有没有更好的方法来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2014-08-11 16:52:24

您不恰当地使用了HTTP代码。

重定向标头(301等)旨在指示所请求的内容确实存在并且是可访问的,只是它不再位于所请求的位置。如果您已取消发布文档,则无法从任何位置访问该文档。在这种情况下,发送3XX重定向代码是错误的,因为您误导了浏览器和其他用户代理,如Google的机器人。

您应该发送一个代码,指示该内容不再可用(410不可用、403禁止或404未找到),并显示一个错误页面。如果你愿意,这个错误页面可以是主页的副本,但出于可用性的原因,我建议你不要这么做。最好是告诉人们内容不再可用,而不是直接重定向到主页。

顺便说一句,302不再意味着“暂时移动”,它现在意味着“找到”。临时重定向的正确HTTP代码现在是303 ("See other")。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25239100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档