/ / Rediriger toutes les requêtes png sous forme de requêtes jpg en Varnish - varnish, varnish-vcl

Rediriger toutes les demandes png en tant que demandes jpg en Varnish - varnish, varnish-vcl

Je souhaite rediriger toutes les requêtes .png vers des requêtes .jpg dans Varnish VCL Exemple: http://example.com/images/boy.png (ou .PNG) à http://example.com/images/boy.jpg dans le vernis VCL

Réponses:

1 pour la réponse № 1

Il peut y avoir 2 cas.

A. Redirection du client [1], utilisez ceci si vous voulez dire au navigateur du client que l’image a été déplacée:

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. Réécriture côté serveur [2], utilisez cette option si vous souhaitez modifier la demande en interne sans indiquer au client:

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

PD: Merci de ne pas dupliquer vos questions

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

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