2009-05-28 4 views
3

일관성없이 작동하는 페이지에 간단한 Response.Redirect가 있습니다 (IIS 6.0). 대부분 리디렉션되지만 리디렉션 대신 '302 여기로 이동 한 개체'페이지가 표시되는 사용자가 있습니다. 페이지는 헤더 정보를 정확한 위치와 함께 표시합니다. "여기"를 클릭하면 올바른 페이지로 리디렉션됩니다.Response.Redirect가 항상 리디렉션하지 않는 경우

302 메시지가 산발적으로 표시되는 이유는 무엇입니까?

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

또한 (최후의 필사적 인 노력 Server.Transfer를 같이 사용할 수 있습니다

+0

브라우저 고유입니까? – shahkalpesh

+0

그럴 것 같지 않습니다. – SkunkSpinner

+0

같은 문제가 있습니다. Firefox 3.0.10에서만 IE 나 Safari에서 발생하지 않습니다. 유사한 스레드가 있지만,이 문제에 관해서는 같지 않습니다. http://stackoverflow.com/questions/245972/why-does-fiddler-break-my-sites-redirects –

답변

2
수동 여기에 (301)에 대한 응답의 상태 코드를 설정을 시도 할 수

는 당신을 도움이 될 몇 가지 borrowed code입니다) 또는 창 위치를 새 URL로 설정하는 간단한 스크립트를 출력 할 수 있습니다.

Page.ClientScript.RegisterStartupScript(Page.GetType 
"RedirectScript", "window.location.href='RedirectionPage.aspx'", true); 

원래 리다이렉션을 존중하지 않으면 브라우저가 javascript와 얼마나 잘 어울리는 지 궁금해합니다.

이 사람들이 사용하는 브라우저에 대한 정보가 있습니까?

+1

확실히 알고있는 구체적인 예는 Firefox 3.0입니다. .10. 하지만 다른 브라우저에 영향을 미치는지는 모르겠습니다. – SkunkSpinner

2

302 코드 response.redirect가 반환합니다. 나는 또한 클라이언트 쪽을 할 메모를 보았다.

window.location = 'url' 

그러나 브라우저 설정처럼 들린다.

0

위치 헤더가없는 경우 발생할 수 있습니다.