【发布时间】:2014-06-14 17:27:55
【问题描述】:
我可以在从缓存中提取匹配对象之前“忽略”查询字符串变量,但实际上不能将它们从 URL 中删除给最终用户吗?
例如,所有营销utm_source、utm_campaign、utm_* 值不会改变页面的内容,它们只是因广告系列而异,并且被我们所有的客户端使用跟踪。
所以这也意味着 URL 不能在客户端更改,但它应该以某种方式在缓存中“标准化”。
基本上我想要所有这些......
http://example.com/page/?utm_source=google
http://example.com/page/?utm_source=facebook&utm_content=123
http://example.com/page/?utm_campaign=usa
...所有访问HIT缓存http://example.com/page/
但是,此 URL 会导致 MISS(因为参数不是 utm_* 参数)
http://example.com/page/?utm_source=google&variation=5
会触发缓存
http://example.com/page/?variation=5
另外,请记住,用户看到的 URL 必须保持不变,我无法重定向到没有参数或任何类似解决方案的东西。
【问题讨论】:
标签: caching url-rewriting varnish varnish-vcl