是否可以使用 Varnish 清除特定目录下的所有文件?你怎么能在 PHP 脚本中完成这个?
例如,如果 URL 包含路径/product/a-specific-product/
,是否也可以清除诸如/product/a-specific-product/a-sub-page/
?
我有以下函数用于清除 Varnish 3 中的特定 URL(类的一部分VarnishPurger()
:
public function executePurge()
{
$purgeUrls = array_unique($this->purgeUrls);
foreach($purgeUrls as $url)
{
$this->purgeUrl($url);
}
if (!empty($purgeUrls))
{
$this->purgeUrl(home_url());
}
}
protected function purgeUrl($url)
{
$c = curl_init($url);
curl_setopt($c, CURLOPT_CUSTOMREQUEST, 'PURGE');
curl_exec($c);
curl_close($c);
}