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 № 1Il 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