4

我有这个页面,我们称之为index.php

index.php有一个用户列表和一个删除用户按钮。这将带他们去removeUser.php

最后一行removeUser.php是回到index.php

但是在 Firefox 中,它看起来还是一样的,普通用户不知道每次手动加载页面时如何进行硬刷新或清除缓存。

我试过了

CACHE-CONTROL NO-CACHE,NO-STORE

并且

PRAGMA NO-CACHE,NO-STORE

我什至尝试EXPIRY 0在 META 标签中设置,这些都没有帮助。尽管它在 Chrome 和其他浏览器中都能完美运行,但只有 Firefox 存在这个问题。

这些是@alex 要求的我的标题

http://localhost/xChange/home.php

GET /xChange/home.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost/xChange/home.php
Cookie: laobgcidne=yes; eambacidle=inaresh.online@gmail.com
Cache-Control: max-age=0

HTTP/1.1 200 OK
Date: Fri, 10 Dec 2010 08:28:25 GMT
Server: Apache/2.2.11 (Win32) PHP/5.3.0
X-Powered-By: PHP/5.3.0
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Content-Length: 6130
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
4

3 回答 3

12

发送过去日期的过期标头。

例子

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

来源

更新

你的标题看起来很不错。我不知道火狐在做什么。

您可以在链接上执行此操作,以确保它始终下载新副本。

<?php $link = 'home.php'; ?>
<a href="<?php echo $link . '?m=' . filemtime($link); ?>">Home</a>
于 2010-12-10T05:13:29.263 回答
3
  • 首先,也许您的curl --head index.php总结可以帮助我们。

  • 这详细解释了缓存: http ://www.mozilla.org/projects/netlib/http/http-caching-faq.html 。

  • 使用 http://nl.php.net/manual/en/function.header.php 设置标题。

  • 也有看看Etag, If-None-Match, Last-Modified, if-modified-since

  • 或者,如果它真的不起作用,您可以为您的网址添加时间戳

    index.php?<?= echo time(); ?>

于 2010-12-10T05:37:49.217 回答
1

只需按 Ctrl+F5 即可在浏览器页面上进行硬刷新,它会删除当前页面的缓存并加载新编辑的页面

于 2015-05-12T07:03:59.480 回答