2013-07-02 3 views

ответ

1

Там может быть 2 случая.

A. Клиент Перенаправление [1], используйте это в случае, если вы хотите, чтобы сказать браузер клиента о том, что изображение было перемещено:

sub vcl_recv { 
    # ... 
    if (req.url ~ "(?i)\.png$") { 
    error 750 "http://" + req.host + regsub(req.url, "(?i)\.png$", ".jpg$"); 
    } 
    # ... 
} 

sub vcl_error { 
    # ... 
    if (obj.status == 750) { 
    set obj.http.Location = obj.response; 
    set obj.status = 302; 
    return(deliver); 
    } 
    # ... 
} 

B. На стороне сервера переписан [2], используйте это в случае, если хотите внутренне изменить запрос, не говоря клиенту:

sub vcl_recv { 
    # ... 
    if (req.url ~ "(?i)\.png$") { 
    set req.url = regsub(req.url, "(?i)\.png$", ".jpg$"); 
    } 
    # ... 
} 

PD: Пожалуйста, не дублировать ваши вопросы

[1] https://www.varnish-cache.org/trac/wiki/VCLExampleRedirectInVCL

[2] https://www.varnish-cache.org/trac/wiki/RedirectsAndRewrites