varnish3.0.2重写url的howto

我有很多目录有相同的图像“_a.png”,如下所示:

/data/images/{a,b,c,d} 

因为这个,清漆caching多个副本。 现在我想重写一个url,像这样:

 if (req.url ~ "/_pty.png$") { set req.url="/images/a/_pty.png"; } 

所以我重装清漆,但它不正确的工作! 例如。 我得到的url, http ://xx.com/images/c/_pty.png varnishlog我觉得这是不对的,代码上面没有任何效果! 如何设置?

你需要像这样重写URL:

 if (req.url ~ "/_pty.png$") { set req.url = regsub(req.url, "^/images/(.+)/_pty.png$", "/images/a/_pty.png"); } 

这应该工作。 根据评论的要求修正。