嗯,这个问题搜起来还挺费劲的,还好谷歌上尝试了几个搜索关键词,找到了有价值的参考,配置是删除不必要的推广参数然后做为缓存的key。
proxy_cache_key默认值为:
proxy_cache_key $scheme$proxy_host$uri$is_args$args;
示例代码如下:
set $c_uri $args; # e.g. "param1=true¶m4=false"
if ($c_uri ~ (.*)(?:&|^)utm_source=[^&]*(.*)) {
set $c_uri $1$2;
}
if ($c_uri ~ (.*)(?:&|^)utm_term=[^&]*(.*)) {
set $c_uri $1$2;
}
if ($c_uri ~ (.*)(?:&|^)utm_campaign=[^&]*(.*)) {
set $c_uri $1$2;
}
if ($c_uri ~ (.*)(?:&|^)utm_medium=[^&]*(.*)) {
set $c_uri $1$2;
}
if ($c_uri ~ (.*)(?:&|^)utm_content=[^&]*(.*)) {
set $c_uri $1$2;
}
if ($c_uri ~ ^&(.*)) {
set $c_uri $1;
}
set $c_uri $is_args$c_uri;
proxy_cache_key $c_uri;
代码摘录自:https://gist.github.com/a-vasyliev/de8ffc6c6aa74cdeadfe
总体核心就是处理好参数,最终设置即可。
同样原理,对fastcgi_cache_key应该也是通用的。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言