2009-05-28 11 views
3

一貫性のないページでは、単純なResponse.Redirectがあります(IIS 6.0)。ほとんどの場合、リダイレクトは正しく行われますが、リダイレクトする代わりに「302 Object moved to this」ページが表示されるという不満を抱いているユーザーがいます。ページには、ヘッダー情報が正しい位置に表示されます。 「ここをクリック」をクリックすると、正しいページにリダイレクトされます。Response.Redirectは常にリダイレクトしない

302メッセージが散発的に表示される理由は何ですか?

+0

ブラウザ固有ですか? – shahkalpesh

+0

そうではないようです。 – SkunkSpinner

+0

同じ問題。 IE 3.0やSafariではなく、Firefox 3.0.10でのみ発生します。同様のスレッドは、この問題に関しては同じではありません。http://stackoverflow.com/questions/245972/why-does-fiddler-break-my-sites-redirects –

答えて

2

あなたはあなたを助けるべきであるいくつかのborrowed codeある手動ここでは301への応答のステータスコードを設定しようとすることができます:

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

ます。また、土壇場の努力Server.Transferを(として使用することができます)、またはウィンドウの場所を新しいURLに設定する簡単なスクリプトを出力します。

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

私は、彼らがオリジナルのリダイレクトを尊重していない場合は、ブラウザのJavaScriptを行いますどれだけだろうが。

これらのユーザーが使用しているブラウザに関する情報はありますか?

+1

私が知っている特定の例は、Firefox 3.0 .10。しかし、それが他のブラウザに影響を与えるかどうかはわかりません。 – SkunkSpinner

2

302レスポンスコードが返されます。私はまた、クライアント側を行うノートを見た。

window.location = 'url' 

しかし、それはブラウザの設定のように聞こえる。

0

これは、Locationヘッダーがない場合に発生します。

関連する問題