如何在浏览器中停用缓存?

时间:2011-05-16 12:16:41

标签: php caching

例如,如果您退出Yahoo邮件然后单击后退按钮,它将不会加载最后一页,它会将您重定向到登录页面。

我必须使用我的PHP代码执行此操作,我正在使用CodeIgniter。

有些朋友告诉我禁用缓存,但这样做会很糟糕,因为我的系统中有很多图像,每次下载都不好。

如何使用PHP执行此操作?

3 个答案:

答案 0 :(得分:5)

使用以下代码禁用页面缓存:

http://php.net/manual/en/function.header.php

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

答案 1 :(得分:1)

试试这些:

<?php
header("Expires: Fri, 01 Jan 2010 05:00:00 GMT");
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Cache-Control: post-check=0, pre-check=0', false );
header( 'Pragma: no-cache' ); 
?>

答案 2 :(得分:0)

避免在客户端浏览器上缓存的简单答案是配置Cache-Control HTTP响应头。​​

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Avoiding_caching

但是,我没有PHP代码片段向您展示如何完全执行此操作。它应该像获取HTTP响应对象一样简单,并设置一个标题&#34; Cache-Control&#34;有价值&#34;没有商店,必须重新验证&#34;