Ainsi, j'ai travaillé sur un raccourcisseur de lien de PHP (je sais, juste ce dont le monde a besoin). Fondamentalement, quand la page se charge, php détermine où il doit aller et envoie un 301 en-tête pour rediriger le navigateur, comme si ...Données de processus AVANT une redirection 301?
Maintenant, je suis en train d'ajouter un peu de suivi à mes réoriente et insert des données analytiques personnalisées dans une table MySQL avant la redirection. Il fonctionne parfaitement si je ne spécifie pas le type de redirection et juste utiliser:
header("Location: http://newsite.com";
Mais, bien sûr, dès que vous ajoutez dans l'en-tête 301, rien d'autre obtient traité. En fait, à la première requête, il envoie les données à MySQL, mais sur les requêtes suivantes il n'y a pas de communication avec la base de données.
Je suppose que c'est un problème de mise en cache du navigateur, une fois qu'il est vu le 301, il décide qu'ils n'ont aucune raison d'analyser quoi que ce soit sur les futures demandes. Mais, est-ce que quelqu'un sait s'il y a moyen de contourner cela?
Je voudrais vraiment le garder comme un 301 à des fins de référencement (je crois que si vous ne spécifiez pas il envoie un 404 par défaut?).
J'ai pensé à utiliser .htaccess pour ajouter un fichier à la page qui fera le travail de MySQL, mais avec le 301, cela ne serait-il pas aussi ignoré?
De toute façon, je ne suis pas sûr s'il y a une autre solution que d'utiliser un type différent de redirection, mais je suis prêt à abandonner pour le moment. Donc, toutes les suggestions seraient très appréciées. Merci!
La RFC 2616 indique que "cette réponse peut être mise en cache sauf indication contraire", cela fonctionnera probablement. – Artefacto
Cela fonctionne parfait merci! – Jesse