Question

Ceci est une question de suivi de Utilisation du 301/303/307 redirige des URL courtes dynamiques, où j'essaie de déterminer la meilleure méthode pour implémenter la redirection de l'URL courte lorsque l'URL de destination changera fréquemment.

Bien qu'il semble que les redirections 301 et 307 fonctionnent tous deux de la même manière, le problème qui me concerne est la mise en cache de redirection 301 (comme documenté ici) - est le meilleur moyen d'éviter cela d'utiliser 307 redirections à la place (je suppose que 307 redirections ne se cacheront jamais?), ou pour envoyer explicitement un en-tête sans cache ("Cache-Control: sans cache, incontournable" )?

Était-ce utile?

La solution

N'essayez pas d'éviter la mise en cache 301. Si vous ne voulez pas que l'agent utilisateur mette en cache votre redirection, n'utilisez pas simplement une redirection 301. En d'autres termes, la mise en cache 301 est là pour rester, et sémantiquement, c'est un permanent Redirection, donc si vous prévoyez de modifier l'URL de destination, 301 n'est pas le bon code d'état à utiliser. D'autre part, 307 Les réponses ne sont pas mises en cache par défaut.

Autres conseils

Dans les situations où vous voulez le comportement qu'une redirection 301 apporte, comme la mise à jour des signets de navigateur et le changement d'URL dans Google Bot, mais en même temps, vous souhaitez suivre les redirections ou effectuer un autre type de fonctionnalité, vous pouvez toujours ajouter le En-têtes de contrôle du cache à "pas de cache"

HTTP/1.0 301 Moved Permanently
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Location: http://example.com

En PHP, cela ressemble à ceci:

header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
header('Location:'.$url, true, 301);

Lié:https://stackoverflow.com/a/19003320/175071

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top