3

一貫性のない動作をしているページに単純な Response.Redirect があります (IIS 6.0)。ほとんどの場合、正しくリダイレ​​クトされますが、リダイレクトの代わりに「302 オブジェクトがここに移動しました」というページが表示されることに不満を持っているユーザーがいます。ページには、ヘッダー情報と正しい場所が表示されます。「ここ」をクリックすると、正しいページにリダイレクトされます。

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

4

3 に答える 3

2

応答のステータスコードを手動で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でどれほどうまくいくのだろうかと思いますが。

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

于 2009-05-28T19:20:04.487 に答える
2

302はコードresponse.redirectが返します。クライアントサイドを行うためのメモも見ました

window.location = 'url'

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

于 2009-05-28T19:24:31.390 に答える
0

これは、Location ヘッダーが欠落している場合に発生する可能性があります。

于 2010-11-11T01:20:52.643 に答える