varni sh regex или для if (bereq.url ~ " - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь создать регулярное выражение для varni sh cache v4

sub vcl_backend_response {


 if (bereq.url ~ "(/media|/bundles|/sonata_admin/|/build)$" ) {

{
        unset beresp.http.set-cookie;
        set beresp.http.cache-control = "public, max-age=2592000";
        set beresp.ttl = 30d;
        return (deliver);
    }

, также я пытаюсь

 if (bereq.url ~ "(\/media|\/bundles|\/sonata_admin|\/build)$" ) {

Я хочу включить все файлы, местоположение которых начинается с / media или / bundles или ...

это не работает

1 Ответ

3 голосов
/ 20 апреля 2020

В вашем конфиге это не работает, потому что вы соответствуете $, что означает "в конце строки".

Вы хотите использовать ^, что означает "match" в начале ", таким образом:

if (bereq.url ~ "^/(media|bundles|sonata_admin|build)") {
    unset beresp.http.set-cookie;
    set beresp.http.cache-control = "public, max-age=2592000";
    set beresp.ttl = 30d;
    return (deliver);
}
...