2009-05-28 8 views
3

Nous avons un Response.Redirect simple sur une page qui fonctionne de manière incohérente (IIS 6.0). La plupart du temps, il redirige correctement, mais certains utilisateurs se plaignent qu'au lieu de rediriger, ils obtiennent la page "302 Object moved to here". La page affiche les informations d'en-tête avec l'emplacement correct. Si vous cliquez sur "ici", il redirige vers la bonne page.Response.Redirect pas toujours de redirection

Des idées pour lesquelles il afficherait le message 302 sporadiquement?

+0

Est-ce spécifique au navigateur? – shahkalpesh

+0

Cela ne semble pas être le cas. – SkunkSpinner

+0

Même problème. Cela n'arrive que dans Firefox 3.0.10, pas dans IE ou Safari. Http://stackoverflow.com/questions/245972/why-does-fiddler-break-my-sites-redirects –

Répondre

2

Vous pouvez essayer de définir manuellement le code d'état de la réponse à 301. Voici quelques borrowed code qui devrait vous aider:

Response.StatusCode = 301; 
Response.StatusDescription = "Moved Permanently"; 
Response.RedirectLocation = "RedirectionPage.aspx"; 
Response.Flush(); 

Vous pouvez également utiliser comme un effort de la dernière chance Server.Transfer () ou affiche un script simple qui définit l'emplacement de la fenêtre sur la nouvelle URL. Bien que je me demande comment leurs navigateurs vont faire avec javascript si elles ne respectent pas la redirection d'origine.

Avez-vous des informations sur les navigateurs que ces personnes utilisent?

+1

L'exemple spécifique que je connais bien est Firefox 3.0. .dix. Mais, je ne sais pas si cela affecte les autres navigateurs. – SkunkSpinner

2

302 EST le code response.redirect renvoie. J'ai également vu une note pour faire un côté client

window.location = 'url' 

mais cela ressemble à un paramètre de navigateur.

0

Cela peut se produire lorsque l'en-tête Location est manquant.

Questions connexes