How do I deactivate caching in browsers?

2019-02-25 16:20发布

For instance, if you exit your Yahoo mail and then click the back button, it will not load the last page, it will redirect you to the login page.

I have to do this with my PHP code, I'm using CodeIgniter.

Some friends told me to disable caching but that will be a bad thing because I have a lot of images in my system and it would be bad to download them every time.

How do I do this with PHP?

标签: php caching
3条回答
啃猪蹄的小仙女
2楼-- · 2019-02-25 16:47

Disable caching of your page with the following code :

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
?>
查看更多
Animai°情兽
3楼-- · 2019-02-25 16:53

Try these:

<?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' ); 
?>
查看更多
太酷不给撩
4楼-- · 2019-02-25 17:04

The simple answer to avoid caching on the client browsers is to configure the Cache-Control HTTP response header.

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

However, I don't have a PHP snippet with me to show you how to do it exactly. It should as simple getting the HTTP response object, and setting a header "Cache-Control" with value "no-store, must-revalidate"

查看更多
登录 后发表回答