скажите лаку не кэшировать запросы, оканчивающиеся на .html

  1. Как я могу указать Varnish с файлом конфигурации VCL не кэшировать URL-адреса, оканчивающиеся на .html. Это для веб-сайта Magento, и я не хочу кэшировать страницы продуктов, которые заканчиваются на .html. Я подумал, что ?.html или *.html могут быть подстановочными знаками, которые мне понадобятся.

  2. Также я могу указать Varnish обрабатывать любой запрос URL-адреса, заканчивающегося строкой запроса ?___from_store=0&___store=ie, так же, как если бы строки запроса не было. Таким образом, Varnish будет обрабатывать example.com/?___from_store=0&___store=ie так же, как example.com.


person Holly    schedule 28.09.2015    source источник


Ответы (1)


Подстановочный знак, который мне нужен для первой части моих вопросов, кажется, .*\.html$

В моем VCL у меня есть

sub vcl_recv {
if (req.url ~ "^(/media/|/skin/|/js/|/)(?:(?:index|litespeed)\.php/)?(?:admin|api|.*.html$|cron\.php|checkout|checkout/cart|customer|advancednewsletter|onestepcheckout|onepage|hoi_turpentine|exporter|contacts|iphone|join|sitemap.xml)" ||
req.url ~ "\?.*__from_store=") {
return (pipe);
}
}
person Holly    schedule 28.09.2015
comment
Я бы использовал .*\.html$, иначе вторая точка будет соответствовать любому символу. Также вы уверены, что хотите вернуть трубу, а не пройти? См.: varnish-software.com/book/ 4.0/главы/ - person Ronald; 28.09.2015
comment
@ Рональд, спасибо. Pipe используется, поскольку я использую расширение Magento_Turpentine, которое генерирует VCL, я просто добавил .*\.html$ в свой раздел конфигурации в административной панели Magento, в чем разница между Pipe и Pass? - person Holly; 29.09.2015