Удаление выбранных пар атрибут / значение строки запроса, чтобы лак не изменял кеш по ним

Моя цель состоит в том, чтобыбелый список» некоторые атрибуты строки запроса и их значения, чтобы лаки не изменяли кеш между URL.

Пример:

Url 1: http://foo.com/someproduct.html?utm_code=google&type=hello  
Url 2: http://foo.com/someproduct.html?utm_code=yahoo&type=hello  
Url 3: http://foo.com/someproduct.html?utm_code=yahoo&type=goodbye

В приведенном выше примере я хочу белый списокutm_code» но нет "тип" Таким образом, после того, как первый URL будет достигнут, я хочу, чтобы лак служил для кэшированного содержимого второму URL.

Однако в случае третьего URL-адреса атрибут "тип" значение отличается тем, что должен быть пропущен кеш лака.

Я попробовал 2 метода ниже (нашел в справочной статье Drupal, я могу 'не найти прямо сейчас), который, кажется, не работает. Может быть потому, что у меня неправильное выражение.

# 1. strip out certain querystring values so varnish does not vary cache.
set req.url = regsuball(req.url, "([\?|&])utm_(campaign|content|medium|source|term)=[^&\s]*&?", "\1");
# get rid of trailing & or ?
set req.url = regsuball(req.url, "[\?|&]+$", "");

# 2. strip out certain querystring values so varnish does not vary cache.
set req.url = regsuball(req.url, "([\?|&])utm_campaign=[^&\s]*&?", "\1");
set req.url = regsuball(req.url, "([\?|&])foo_bar=[^&\s]*&?", "\1");
set req.url = regsuball(req.url, "([\?|&])bar_baz=[^&\s]*&?", "\1");
# get rid of trailing & or ?
set req.url = regsuball(req.url, "[\?|&]+$", "");

Ответы на вопрос(7)

Ваш ответ на вопрос