varnish3.0.2 重写 url 操作指南

varnish3.0.2 重写 url 操作指南

我有很多目录具有相同的图像“_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");
}

这应该可行。已按评论中的要求修复。

相关内容