2015-07-30 6 views
0

J'utilise ESI pour ne pas mettre en cache un fragment de page. Je l'ai écrit la configuration suivante dans le fichier vlc pour ne pas mettre en cache mon fragment:Le vernissage ne traite pas la requête ESI lors de l'extraction de la page contenant la balise esi du cache?

sub vcl_backend_response{ 
    set beresp.do_esi = true; 
    if (bereq.url ~ "/fragment") { 
     set beresp.uncacheable = true; 
     return (deliver); 
    } 
} 

La première fois que le vernis apporte page entière de back-end, il envoie demande distincte pour '/ fragment et la met place de la page . Mais lors de l'actualisation de la page, le vernis ne fait que réapparaître pour la page principale et il le trouve dans le cache. Ensuite, il ne cherche pas de fragment esi dans cette page et n'envoie pas de requête pour cela. Au lieu de cela, il est stocké dans la page principale elle-même tout en mettant en cache la page principale et l'amène à partir de là tout en faisant la recherche. Je veux savoir comment amener le fragment du backend, chaque fois que la requête pour la page principale est faite, tout en servant le reste du contenu de la page principale à partir du cache.

Répondre

0

En mettant unset resp.http.Etag; à l'intérieur vcl_deliver sous-programme a travaillé pour moi.