Bonjour à tous,
Je post ici avec assez peu d'espoirs, mais soyons fous ![]()
J'aimerai utiliser le mod_cache d'apache pour mettre en cache des sites, notamment wordpress ici.
L'idée étant que si on a un cookie wordpress_is_logged dans ce cas on change les headers pour avoir un no-cache, private, mais qu'en l'absence de celui-ci on balance un public, max-age=xx.
L'objectif étant de ne pas faire appel à PHP pour les pages publiques (un genre de wp-rocket en mieux) mais de balancer directement la réponse depuis le cache.
Si aucun cache n'existe et que je suis connecté tout baigne.
J'ai mon en-tête no-cache qui va bien.
Si je ne suis pas connecté tout va bien aussi. En-tête public, mise en cache par apache en fonction du max-age, parfait. Aucun appel à PHP, la page n'est pas recalculée c'est super.
Là où le problème se pose c'est quand il existe déjà une page en cache.
La page en cache est forcément celle de la version publique (public, max-age=xxx).
Mais là, même en étant connecté, en ayant le cookie wordpress_is_logged Apache me balance sa page en cache.
Il fait son rebelle, on se connecte, il ne fait aucune vérif il balance son cache et me dit de me contenter de ça.
Bon, soit… Est ce un comportement "normal" ? J'ai fouillé pendant des heures sur le net et je ne trouve pas grand chose.
La doc est à chi…, assez peu de monde visiblement aborde la question…
Ou visiblement ils se contentent du fait qu'en étant auth les pages ne sont jamais mises en cache, et que si sur la partie publique on se choppe la partie en cache bah tant pis, ça va bien comme ça…
Mais moi j'aimerai bien que ce cré… gentil apache, bypass le cache si j'ai mon cookie qui va bien, et balance le cache (quand il existe) en l'absence du cookie.
Et ce que le cache existe ou pas !
Est ce que quelqu'un a déjà mit ça en place ? Avec succès accessoirement.
J'ai pas spécialement envie de plonger dans la doc de Varnish (qui ne gère pas le ssl visiblement), voir de nginx et qui ne gère pas les fichiers htaccess (qd même super utile dans un environnement où l'utilisateur final n'est pas root).
Ce sujet a été automatiquement fermé après 180 jours. Aucune réponse n'est permise dorénavant.