Expires affects Firefox

我把 Magento 网店从 A 服务器迁移到 B 服务器后,发现一个问题:在 Firefox 下点 “Add to cart”,无论添加是否成功,系统没有提示(购物车有个选项是添加商品后留在当前页面),非得 F5 刷新后才能看到成功或错误信息。Safari 下正常,IE 下未实测。

我原以为是 Magento cache 的问题,但禁用 Magento cache 后问题依旧。而且,只有 B 服务器才有这样的毛病。想来半天,觉得跟服务器参数有关。

于是我查看了 Magento 在两台服务器的 http header,发现 B 服务器多了 cache 和 expiry 等 headers。这才特别关注了一下 nginx 的配置问题,发现 B 服务器的 server {} 里有一句 expires 1d; 不知这句是谁写到 nginx conf 文件里。这指名 Firefox 直接从本地读取,除非 F5。去掉 expires 这条目就好了。

Leave a Reply

Your email address will not be published. Required fields are marked *