之前介绍过,我的博客方案已经更换为全静态,详细可以参考我这篇文章《WordPress “纯”静态化》
理论来说,所有静态资源回源一遍之后,后面的请求都会直接从CDN获取资源,并不会进行回源操作,除非我更新了资源,并且手动刷新资源。
但长久以来,还是从源站上看到了许多已经回源过的资源,而绝大多数的特征都在于 ‘?’ 这个符号之后。遂才想起,忘记了做 ignore query string,此篇文章谨当记录一下操作过程。
正文
之前文章介绍过,我是通过 NS 解析时,将请求划分为境内与境外,境内使用了 腾讯云CDN,境外为CloudFlare。所以此文也分为两个步骤分别进行。
Tencent Cloud CDN
未进行 ignore query string 操作时,在网址后面输入 ‘?*’ 时会自动回源。
此时,在腾讯云CDN的域名管理之中找到缓存配置,修改全部文件配置
修改为下图所示即可:
此时即可看到,没有回源,命中了缓存。
CloudFlare
未进行 ignore query string 操作时,在网址后面输入 ‘?*’ 时会自动回源。
在页面规则中,新增以下配置:
URL (required) :*youdomain/*?*
Pick a Setting (required):Forwarding URL
Select status code (required):301 - Permanent Redirect
Enter destination URL (required):https://$1youdomain/$2
如下图所示:
此时再进行 query string 操作时,CloudFlare便会自动的301跳转到无 query string 操作的页面,以达到ignore query string的效果