Comment empêcher la mise en cache d'une page?

8

J'ai défini une URL de page d'accueil personnalisée sur example.com/welcome. L'utilisateur vient sur example.com/ et se connecte sur cette page. Drupal redirige vers example.com/welcome

Maintenant, l'utilisateur clique sur la page d'accueil qui charge example.com/ à partir du cache du navigateur (qui contient le formulaire de connexion).

Je suppose que si Drupal rechargerait la page d'accueil sur example.com/ au lieu de example.com/welcome, je n'aurais pas ce problème. Comment ferais-je ça?

Que pouvais-je faire d'autre?

Au fait, les pages anonymes sont mises en cache par le vernis.

uwe
la source

Réponses:

10

La première étape consiste à voir si http://drupal.org/project/cacheexclude le fait pour vous. Si vous êtes sur Drupal 6, consultez ce problème: http://drupal.org/node/197786#comment-1817644 . Si vous êtes sur Drupal 7, voyez celui-ci: http://groups.drupal.org/node/212103

Si rien de ce qui précède ne le fait pour vous, vous voudrez peut-être envisager de modifier votre VCL et ajouter plus de logique pour le faire fonctionner avec votre site.

Jetez également un œil à quelque chose comme http://drupal.org/project/globalredirect afin de vous assurer que vous avez une URL pour une ressource (comme la première page).

mikeytown2
la source
vous êtes un homme, une fois que j'ai coché la case "Frontpage Redirect Handler" dans la redirection globale, le problème a été résolu. Merci!!!
uwe
12

drupal_page_is_cacheable peut également être utilisé.

Appel:

drupal_page_is_cacheable(FALSE);

Devrait faire l'affaire.

Et pour Drupal 8:

Drupal::service('page_cache_kill_switch')->trigger();
Felix Eve
la source