我有几个视图,如果用户没有登录或在其他状态(购物车视图中的购物车不是空的),我将他重定向到其他地方,我已经写了一个方法,但谷歌Chrome缓存我的重定向。
示例:如果用户试图进入结账并因为购物车为空而被重定向,下次即使购物车已满,他也会再次被重定向。只有在手动转到Chrome设置并清除缓存和浏览历史记录后才能解决此问题。
我的方法:
public static function redirect($url, $statusCode = 302, $cacheHeader = true)
{
if( $cacheHeader === false ) {
header("Cache-Control: no-cache, must-revalidate");
}
header('Location: ' . $url, true, $statusCode);
exit();
}
调用方法:
EkerbaseUtilities::redirect(Ekerbase::getRoot() . '#showcart', 307, false);
我尝试过307,303和其他状态,都有相同的结果。您还可以看到Iv'e尝试设置无缓存标头,也没有做任何事情。
我试过的其他东西是在url中设置?unique()= 1,对于一个总是改变但仍然得到相同结果的参数。
请注意,JS重定向是不可能的,因为UX是该网站的关键。
有任何线索吗? 谢谢,
答案 0 :(得分:1)
问题出在我的.htaccess上,我只需要设置:
$(document).ready(function(){
$('img').each(function(){
if($(this).attr('src').indexOf('imgur') != -1){
$(this).css('opacity', 0.3);
}
});
});
完全解决了这个问题。