web-dev-qa-db-fra.com

Besoin de créer une fonction qui s'exécutera indépendamment de W3TC PageCache pour chaque demande de page

Je veux créer une fonction spécialisée qui vérifie certains paramètres (page demandée, adresse IP de l'utilisateur par rapport à une liste). Si l'utilisateur correspond, il sera redirigé sur un autre site. S'il ne correspond pas, il sera autorisé à continuer sur la liste. page d'origine demandée.

Cependant, le site Web est mis en cache à l'aide du cache de pages W3TC et je n'arrive pas à localiser l'endroit où je devrais mettre mon code pour qu'il agisse avant que W3TC ne renvoie la page mise en cache.

4
Moshe Eshel

Comme W3TC sert les pages en cache via htaccess avant que PHP ne puisse rien faire, vous devrez soit:

  1. Faites cela directement dans le fichier .htaccess avant les règles W3TC.

    Voir par exemple https://stackoverflow.com/questions/293285/want-to-redirect-all-visitors-except-for-me , bien que cela ne sera pas possible si la liste d'adresses IP est dynamique ou dans une base de données)

  2. Désactivez le "cache de page" de W3 Total Cache, mais laissez les autres types de cache sur (uniquement si vous n'êtes pas sur un plan d'hébergement partagé et que vous disposez d'un VPS ou d'un serveur dédié).

    Ne paniquez pas! Vous obtiendrez quand même de grandes améliorations en matière de performances en laissant le "cache d'objet" et le "cache de base de données" activés. Notez que ceux-ci nécessitent l'installation d'un module de mémoire cache tel qu'APC ou xCache, ce que, d'ailleurs, je recommande vivement.

2
guidod