2009-02-08 12 views
1

Sur un projet sur lequel je travaille, j'utilise des en-têtes HTTP pour rediriger l'utilisateur vers la page d'accueil après une connexion réussie;Les liens hypertexte cessent de fonctionner dans Firefox après la redirection?

header("Location: http://example.com/index.php?"); 
exit(0); 

EDIT: Ajouté à questionmark URL pour montrer le problème

Cela fonctionne très bien dans tous les navigateurs testés - cependant, dans Firefox 3.0.6, à la fois sur Windows, Mac et debian, il ne parvient pas à définissez les liens hypertexte correctement. Chaque lien hypertexte pointe vers la même URL que la redirection, ignorant complètement l'attribut "href". L'actualisation de la page n'aide pas - Je dois saisir à nouveau l'URL manuellement et appuyer sur Entrée pour que les hyperliens recommencent à fonctionner.

J'ai essayé ceci dans IE6, IE7, Opera et Safari, et cela fonctionne très bien. Je suppose que quelque chose ne va pas avec la façon dont j'implémente la redirection, est-ce que quelqu'un pourrait me pointer dans la bonne direction?

+0

Définissez-vous également l'état HTTP 301/302? – Tomalak

+0

Je ne le configure pas manuellement, non. Mais selon le manuel PHP cela devrait être fait automatiquement (http://se2.php.net/header) –

+0

Est-ce la première chaîne que votre script produit? – Phil

Répondre

1

La solution semble être la suivante: Je ne peux pas rediriger vers une URL se terminant par un point d'interrogation, si tel est le cas, ce problème se produira. Il me semble que ce comportement n'est pas attendu de FF3, mais je ne connais pas assez les spécifications HTTP pour dire si c'est le cas.

De toute façon, a été résolu en supprimant un point d'interrogation de l'URL de redirection.