8
votes

Rediriger l'échec de manière aléatoire dans IE 8 et plus

sur notre adserveur, nous utilisons le script PHP simple suivant pour rediriger la page d'atterrissage de l'annonce: xxx

Le script prend son lp paramètre et redirection à cette URL. Le but est de pouvoir analyser notre journal d'accès pour suivre les clics (l'URL inclut également un paramètre d'identifiant, que le script ignore).

Nous avons un client (que je connaisse jusqu'à présent) où cela ne fonctionne pas de manière cohérente, mais seulement dans IE 8 et plus. L'URL avec le problème est la suivante:

http://webutil.bridgebase.com/v2/ad_lp.php?id=340&lp=http%3a%2f%2ftravelinsingles.com%2ftravelinsingles.com%2fhome.htm

Cela devrait Rediriger vers http://travelinsingles.com/home.htm , mais parfois, il va parfois à Http://webutil.bridgebase.com/home.htm (qui n'existe pas). Il semble toujours arriver au premier clic sur la publicité; Parfois, des clics ultérieurs suivent la redirection correctement, parfois ils continuent d'aller à la mauvaise URL.

J'ai effectué une capture de paquets sur notre serveur Web, on dirait que nous envoyons la tête correcte: < Pré> xxx

J'ai capturé à la fois sur une redirection défaillante et réussie, et les en-têtes étaient identiques, à l'exception de la date.

J'utilise un Mac, donc j'utilise Browerstack pour tester IE, qui limite ma capacité de débogage à la fin du client. Est-ce que quelqu'un sait ce qui pourrait causer cela, et s'il y a quelque chose que nous pouvons faire quelque chose pour y travailler?

J'ai reproduit le problème avec la fonction d'écran de Browerstack de Browerstack:

http://www.browerstack.com/screenshots/3659c3b992A1738594d2fd370caef2852fecb3fa


4 commentaires

L'URL est-elle par hasard envoyée dans un email?


Cela n'a peut-être rien à voir avec votre problème, mais je suis curieux - quel mode de rendu est votre IE8 en cours d'exécution? Mode de bizarrerie ou de normes? Je suis coulé dans des trucs bizarres en mode Quirks sur IE8.


@Dagon non, c'est le href d'une ancre dont le HTML intérieur est l'image de l'annonce. Mais j'ai reproduit le problème à Browerstack simplement en entrant l'URL dans le navigateur là-bas.


@Revent Quirks Mode est désactivé par défaut à Browserstack, je crois.


4 Réponses :


0
votes

Que se passe-t-il si vous utilisez rawurldecode ($ lp) ? J'ai testé dans Windows 7 dans IE7-10 et cela fonctionne bien pour moi (les deux sens). Étrange!

Vérifiez l'URL que vous êtes redirigé dans IE, quelle est la barre d'adresse?


0 commentaires

0
votes

Pour éviter les problèmes avec les redirections d'en-tête, j'utilise habituellement ob_start (); et ob_flush (); xxx


0 commentaires

1
votes

ajoute Quitter ou Die (); à la fin de votre PHP fait une différence?

Parfois, les clients HTTP ne l'aiment pas lorsqu'un en-tête de redirection est envoyé, tandis que le contenu existe toujours dans le corps (même s'il s'agit de contenu vide: des espaces, des retours de la ligne, etc.)


1 commentaires

Je ne sais pas si nous rencontrons toujours le problème (personne ne s'est plaint à ce sujet depuis des années), mais j'ai décidé de mettre en œuvre quelque chose comme celui-ci. Au lieu d'ajouter EXIT () , j'ai supprimé la ligne ?> , car il y avait une nouvelle ligne après sa copie.



-1
votes

Peut-être que vous avez la mémoire tampon de sortie sur le serveur. La mémoire tampon de sortie peut obtenir l'en-tête à cause du tampon (comme vous le savez, les en-têtes doivent être envoyés en premier).

J'espère que cela pourrait être le problème


1 commentaires

Non, pas de mémoire tampon de sortie.