我有很多目录具有相同的图像“_a.png”,如下所示:
/data/images/{a,b,c,d}
因为这样,varnish 缓存了多份。现在我想把 url 改写为一个,像这样:
if (req.url ~ "/_pty.png$") {
set req.url="/images/a/_pty.png";
}
所以我重新加载了 varnish,但它不能正常工作!例如。我得到了 url,http://xx.com/images/c/_pty.png ,用varnishlog发现不行,上面的代码没有效果!如何设置?
答案1
您需要像这样重写 URL:
if (req.url ~ "/_pty.png$") {
set req.url = regsub(req.url, "^/images/(.+)/_pty.png$", "/images/a/_pty.png");
}
这应该可行。已按评论中的要求修复。