在通过IE的后退按钮或者网页中的history.go(-1)时,我们看到的将是缓存页,但使用了session_start后,这个函数会强制当前页面不被缓存,导致出现“警告: 网页已经过期”。
解决方法一:
在session_start之后加一句
代码如下 | 复制代码 |
header("Cache-control: private"); |
注意在此之前程序不能有任何输出。
解决方法二:
在session_start前加上
代码如下 | 复制代码 |
session_cache_limiter('private'); |
//不清空表单,只在session生效期间
代码如下 | 复制代码 |
session_cache_limiter还有另两个参数的含义: session_cache_limiter('nocache');// 清空表单 session_cache_limiter('public'); //不清空表单,如同没有使用session |
解决方法三
更改配置文件php.ini。将该文件中
代码如下 | 复制代码 |
session.cache_limiter = nocache |
改为
代码如下 | 复制代码 |
session.cache_limiter = 或者session.cache_limiter = none |
,然后重新启动apache。