【发布时间】:2014-08-11 16:52:24
【问题描述】:
我的网站有一个文章列表,每篇文章都未发表并多次发表。
当已发布标志关闭 (0) 时,该文章不再可访问。
当文章不再可访问时,我将用户重定向到主页,我尝试使用 301 重定向:
header("Location: /", true, 301);
当一篇文章被发布,然后取消发布,然后再次发布时,这会导致问题,浏览器似乎缓存了未发布的重定向到主页,您无法再查看该文章 - 即使它的已发布标志设置为 1 .
所以我尝试了 302:
header("Location: /", true, 302);
但我一直在阅读,不建议使用它。
有没有更好的方法来实现这一点?
【问题讨论】:
-
301 是“移动永久”,所以浏览器会很自然地记住这一点。我建议改用 404。
-
在尝试再次访问链接或什至不同的浏览器之前尝试清除浏览器缓存
-
@insanebits 我不能让每个用户都这样做
-
如果内容已经发布,你不应该从网站上删除,这就是为什么 wordpress 有发布状态草稿的原因,你在发布之前处理内容,只有当内容必须永久删除时,你才应该添加 301,否则使用 404,这是表示未找到内容的自然方式。
标签: php