使用varnishadm清除单个url的清漆caching

正在Wordpress网站中使用光油。

我想清除Varnish的单个url,而不是整个域名。

使用这个命令,我可以重新启动整个域的清漆

varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"' 

不过,我想只清除一个url的清漆。

例如: www.foo.com/url_to_be_purged

我已经尝试了以前的命令将其replace为单个URL:

 varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"' 

但是这并不起作用,URL仍然是Varnish的HIT

任何想法,我怎么能做到这一点?

UPDATE

正如build议ghloogh的答案,我已经尝试了以下命令:

 varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == http://www.foo.com/url_to_be_purged" 

我也尝试过这种变化:

 varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged" 

但我仍然在URL中获得一个HIT ,并且数据不会更新

你不需要为主机名指定scheme,你可以使用严格匹配而不是正则expression式:

 varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban "req.http.host == example.com && req.url == /some/url/" 

您可以尝试以下方法:

 sudo varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 "ban req.url ~ \"http://example.com/testimage.png$\"" 

为我工作。