Firefox 12在重定向后没有重新加载页面

时间:2012-04-29 21:39:37

标签: php firefox caching

Flowchart diagram我已经编写了一个登录脚本,在您登录后重定向回索引页面,从而为登录用户重新加载索引页面,它只显示以前加载的索引页面。一旦登录脚本重定向它,新的Firefox 12更新不会重新加载索引页面。当处理脚本将Firefox重定向回已经加载的页面时,在我的网站中反复出现此问题。

我试过用PHP关闭缓存:

<?php
header( "Last-Modified: " . gmdate( "D, j M Y H:i:s" ) . " GMT" );
header( "Expires: " . gmdate( "D, j M Y H:i:s", time() ) . " GMT" );
header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", FALSE );
header( "Pragma: no-cache" ); ?>

并在.htaccess中:

<filesMatch "\.(php)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>

任何人都可以解释为什么Firefox 12.0会这样做吗?它不会在其他浏览器中执行此操作。如何尽快解决?

感谢。

更新: 它在以前版本的Firefox和所有其他浏览器中运行良好。它所做的只是重定向回索引页面,它应该为新登录的用户重新加载,但它仍然显示原始主页。当您单击指向主页的链接时,它将为用户正确加载主页。

6 个答案:

答案 0 :(得分:1)

从Firefox 11升级到12后,我注意到了同样的问题。除非我在每个请求中将随机字符串附加到URL,否则我的购物车将无法正常工作。

http://support.mozilla.org/en-US/questions/926043

答案 1 :(得分:1)

只需设置

header("Cache-Control: no-cache");

之前

header("Location:".$url);

问候,丹尼尔

答案 2 :(得分:0)

使用javascript进行重定向:

<?php 
    $url = "/index.php";
    echo "<script type='text/javascript'>
            window.location='" . $url . "';
          </script>";
?>

答案 3 :(得分:0)

有时php重定向工作更好w /

 header( "Location: index.php" ) ;
 header ("Content-Length: 0");
 exit;

答案 4 :(得分:0)

我在其他帖子中看到的有关阻止FF缓存页面的有趣技巧。这是一个较旧的文档,但可能仍然适用:(https://developer.mozilla.org/en/Using_Firefox_1.5_caching),说FF不会缓存w / unload或onbeforeunload事件的页面。

如何添加无效的onbeforeunload事件:

<script>
    window.onbeforeunload = function(){} //add onbeforeunload
</script>

答案 5 :(得分:0)

您应该为重定向网址添加时间戳:

http://yourdomain.com/index.php?time=0205122019

我认为这是一个缓存问题。