看不到Style.css的实时版本--是Web服务器缓存吗?

时间:2014-01-12 作者:Steve

我的网站正在加载style.css?ver=1.0

style.css?ver=1.0 有不同的内容style.css, 即使在style.css?ver=1.0

删除浏览器缓存无法解决此问题。

正在加载style.css?ver=1.0 在另一个浏览器中。

返回显示的第一个浏览器style.css?ver=1.0 现在匹配style.css.

问题是:

我已经更新了style.css 再次上传。

如果我在浏览器中加载此文件,它将显示旧版本。如果我进行硬刷新,它会显示旧版本。如果清除浏览器缓存,它将显示旧版本。如果我加载样式。css在不同的浏览器中,它显示旧版本。如果清除不同浏览器的缓存,它将显示旧版本。

在FileZilla中,如果我查看/编辑远程样式。css,它显示的是浏览器中不会显示的更改。

如果我等5分钟,我就会看到新版本的style。浏览器中的css。

这是由web服务器缓存引起的吗?

1 个回复
SO网友:terry

如果您更新WordPress主题style.css, 您可能已经注意到,您必须在浏览器中“强制重新加载”站点才能查看更改。这是因为浏览器在硬盘上缓存了一份CSS副本。根据服务器的设置方式,它可能在几个小时或更长的时间内不会检查样式表的新版本!即使您强制重新加载以查看更改,以前访问过您的站点的访问者仍然可能会得到旧的CSS。解决这个问题的一种方法是通过添加?v=123 到样式表中的URL。每次都要用手来做这件事相当痛苦,所以这里有一个更好的方法:

<?php
$file = get_bloginfo( \'stylesheet_url\' )
    . \'?\' . filemtime( get_stylesheet_directory() . \'/style.css\' );
?>
<link rel="stylesheet" href="<?php echo $file; ?>" type="text/css" />
这会自动更新?12345678 每次修改文件时结束零件。现在每个人都能立即看到您的更改。

结束

相关推荐

运行flush_all时对象高速缓存(作为后端的Memcached)和wPMU的问题

我正在运行一个相当大的wpmu设置bloggersdelight。dk-在站点上进行更改时,我们有时需要重置对象缓存。当我们这样做的时候,事情就会一团糟。来自站点的选项值混合在一起,博客的homeURL重定向到错误的博客等。这是当前对象缓存。我正在使用php。http://pastebin.com/QgM5tR9n正如您所知,flush函数的创建方式不允许在多站点时进行刷新。这是wordpress上找到的插件的默认设置。组织。为了刷新博客缓存,我需要做一些“有趣”的事情,比如:switch_to_blog