问题:本站的主题和插件一般我一般都会在本地环境调试好之后再同步到互联网,由于我使用了WPJAM BASIC 插件中CDN加速功能,基本把所有的静态文件都放到了七牛的镜像存储中,所以把新文件上传到服务器后想要的效果不能实现。
刚开始遇到这个问题的时候,我一般会把七牛中的文件删除,然后在同步。可是结果还是不行。查看源码中的css文件链接,在浏览器打开链接查看内容,明明已经更新后的css文件,可是网站显示样式还是未更新前的。
原因:到wpjam网站上找了一下,发现下面一段话
不过要注意的是,js和css文件CDN加速了之后,你本地修改了,一定要到云存储上去刷新缓存,并且刷新之后本地的图片链接要加上时间戳参数,因为CDN是有缓存的,不会自动刷新的
根本的原因是CDN缓存没有刷新造成的,虽然链接是新的CSS文件内容,但是还缓存着旧文件的内容。
解决方案:病因找到了,只要刷新缓存就可以解决问题了。查看七牛的文档,刷新缓存给了三种方法
1.在七牛开发者中心左侧产品列表中找到融合 CDN ,进去后点击 刷新预取 。
按要求填写需要刷新的 URL,点击提交即可。

2.工具刷新使用七牛云提供的 qshell 命令行工具,参考使用文档,先设置密钥,然后执行 cdnrefresh 命令来刷新缓存。
3.通过API 接口提交刷新请求:七牛各服务端的 SDK 都提供了刷新缓存的方法
注:如果使用了 镜像存储 ,不能直接刷新,需要使用 镜像存储刷新缓存方法
提交刷新请求后 10 分钟 左右,刷新全网生效。
刷新 https 域名下的链接,会同时刷新 http 和 https,占用两次刷新额度
当镜像源的文件更新(或删除)后,刷新 CDN 缓存的方法有以下两种:
- 首先将空间中该资源删除;
然后按照 刷新缓存的方法 文档第一条介绍的方法,提交刷新缓存请求。 - 首先,利用 prefetch 接口 或者 qshell 工具的 prefetch 命令 将镜像源站的资源覆盖空间中相同名称的资源;
然后按照 刷新缓存的方法 文档第一条介绍的方法,提交刷新缓存请求。
总结:按照上面的方法把我整个流程梳理一下
- 更新网站样式文件
- 登录七牛镜像存储,删除对应的文件,然后刷新一下网站
- 登录七牛控制台- 融合 CDN - 刷新预取 -刷新文件(将CDN文件地址填写后,点提交)
- 更新完毕
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。