一个 Wordpress 网站正在使用 Varnish。
我想为单个 URL 而不是整个域清除 Varnish。
使用此命令,我可以为整个域重新启动 Varnish:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com\" && req.url ~ \"^/\"'
Run Code Online (Sandbox Code Playgroud)
但是,我只想为单个 url 清除清漆。
前任: www.foo.com/url_to_be_purged
我试过用单个 URL 替换上一个命令:
varnishadm -T :6082 -S /etc/varnish/secret 'ban req.http.host ~ \"http://www.foo.com/url_to_be_purged\" && req.url ~ \"^/\"'
Run Code Online (Sandbox Code Playgroud)
但它没有用,URL 仍然是HIT
Varnish 中的。
关于如何实现这一目标的任何想法?
更新
根据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"
Run Code Online (Sandbox Code Playgroud)
我也试过这种变化:
varnishadm -T :6082 -S /etc/varnish/secret ban "req.http.host == http://www.foo.com && req.url == /url_to_be_purged"
Run Code Online (Sandbox Code Playgroud)
但我仍然HIT
在 URL 中得到一个并且数据没有更新
ghl*_*ogh 20
您不需要为主机名指定方案,您可以使用严格匹配而不是正则表达式:
varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban "req.http.host == example.com && req.url == /some/url/"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30780 次 |
最近记录: |