如何删除缓存的http 302响应

时间:2015-10-19 07:31:03

标签: .htaccess http caching browser

我有一个旧网站,永久重定向(HTTP 302)从http://example.com/http://exmpale.com/drupal的所有流量

现在我在wordpress上重新实现了整个网站,但旧的重定向仍然缓存在我的用户的浏览器上,并且打破了我重访用户的体验(仅限某些资产)。

我正在考虑在我的新网站上添加一个用作/ drupal的路由,这会强制浏览器删除缓存,有没有办法这样做?也许一些http标头/ javascript来删除缓存?

你觉得怎么样?

(顺便说一下,我在托管服务上,所以我的选项仅限于php / .htaccess / javascript,但我无法更改http服务器配置)

1 个答案:

答案 0 :(得分:1)

你说:

  

永久重定向(HTTP 302)

但它要么:

  • 临时重定向(HTTP 302)
  • 永久重定向(HTTP 301)

通常不会在浏览器中缓存302个响应。如果您使用301响应代码,则可以存储该响应代码,直到用户关闭浏览器。如果您的用户遇到问题,那肯定意味着您使用的是301,但如果不是这样,则意味着您和最终用户之间存在重定向缓存(如服务器前面的反向代理缓存)? )。

如果您使用的是301,则可能会尝试在/drupal上向/添加临时重定向。但这可能会在浏览器上创建一个无限的重定向循环。您可以通过在重定向上添加假参数来防止它,例如重定向到/?redir=fix