我有一个网页x.php
(在我的网站的密码保护区),其中有一种形式,它使用POST
方法发送的表单数据并打开x.php#abc
按钮。这工作得很好。浏览器后退按钮恢复空字段
但是,如果用户决定在Internet Explorer 7中导航回来,原始x.php
中的所有字段将被清除,并且所有内容都必须重新输入。我无法在会话中保存发布的信息,我正试图了解如何让IE7以我想要的方式行事。
我搜索了网页,发现答案表明HTTP头应包含显式缓存信息。目前,我试过这个:
session_name("FOO");
session_start();
header("Pragma: public");
header("Expires: Fri, 7 Nov 2008 23:00:00 GMT");
header("Cache-Control: public, max-age=3600, must-revalidate");
header("Last-Modified: Thu, 30 Oct 2008 17:00:00 GMT");
及其变体。没有成功。用WireShark这样的工具查看返回的头文件,告诉我Apache确实遵守我的头文件。
所以我的问题是:我做错了什么?
尼斯的答案,但对我来说,这个问题必须在别处:我的表格是服务器端生成的,页面上没有任何JavaScript,没有`onload`处理等,所以我真的不明白发生了什么事情! – 2008-11-04 13:22:28
嗯......好吧,我也没有 - 你有一个公开的网址,我们可以看看吗? – bobince 2008-11-04 13:29:49
是的,http://www.epsitec.ch/xxx/buy/full-a - 等一下,如果我添加尾随.htm到该URL,一切工作正常!所以我的问题是由重写规则造成的,它以某种方式混淆了IE7的缓存! – 2008-11-04 13:44:38