我有这个页面,我们称之为index.php
index.php
有一个用户列表和一个删除用户按钮。这会将他们带到removeUser.php
removeUser.php
的最后一行是返回index.php
但在Firefox中,它看起来仍然相同,普通用户不会在每次手动加载页面时都知道如何进行硬刷新或清除缓存。
我试过了
CACHE-CONTROL NO-CACHE,NO-STORE
以及
PRAGMA NO-CACHE,NO-STORE
我甚至尝试在META标记中设置EXPIRY 0
,这些都没有帮助。虽然它在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
答案 0 :(得分:12)
发送过去日期的过期标题。
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
你的标题看起来很不错。我不知道Firefox在做什么。
您可以在链接上执行此操作,以确保始终下载新副本。
<?php $link = 'home.php'; ?>
<a href="<?php echo $link . '?m=' . filemtime($link); ?>">Home</a>
答案 1 :(得分:3)
首先,您的curl --head
index.php
摘要可以帮助我们。
这详细解释了缓存: http://www.mozilla.org/projects/netlib/http/http-caching-faq.html
另请查看Etag,
If-None-Match, Last-Modified,
if-modified-since
或者,如果它真的不起作用 可以为你的网址添加时间戳
index.php?<?= echo time(); ?>
答案 2 :(得分:0)
只需在浏览器页面上按Ctrl + F5进行硬刷新,即可删除当前页面的缓存并加载新编辑的页面