我有网址
...../suggest?callback=jsonp9999999999999&term=something
我想从网址中删除 callback = jsonp999999999999& ,缓存其余(..... / suggest?term = something)并传递完整的URL (..... /建议?callback = jsonp9999999999998& term = something)再次到后端。
当第二个请求格式为(..... / suggest?callback = jsonp000000000000& term = something)时, varnish必须删除 callback = jsonp000000000000& 检查缓存是否有命中,并从缓存中返回结果。
这是否可以使用内联C和VCL?
答案 0 :(得分:1)
如果查询字符串始终以"callback=jsonp"
开头,则搜索其开头(strstr
对此有利)。然后找到下一个'&'
(strchr
是此处使用的函数)。然后将第一部分复制到新缓冲区,并将最后一部分连接到新缓冲区。
答案 1 :(得分:1)
有可能,您可以像操作cookie或其他标题一样更改req.url参数。 Here's an example如何在将Google Analytics参数发送到您的后端之前将其删除,同样的逻辑也适用于此。