私は自分のアプリケーションで発生しているエラーを処理するtry catchブロックを持っています。私は、状態コード403への応答を設定したり、禁止したり、ユーザーをログインページやカスタムエラーページにリダイレクトする簡単な方法をお勧めします。応答ステータスコードを手動で設定する
ステータスコードとリダイレクトを設定する際に問題が発生します。誰でもステータスコードを設定してからリダイレクトする例がありますか?
私は自分のアプリケーションで発生しているエラーを処理するtry catchブロックを持っています。私は、状態コード403への応答を設定したり、禁止したり、ユーザーをログインページやカスタムエラーページにリダイレクトする簡単な方法をお勧めします。応答ステータスコードを手動で設定する
ステータスコードとリダイレクトを設定する際に問題が発生します。誰でもステータスコードを設定してからリダイレクトする例がありますか?
Response.Status = "403 Forbidden";
Response.Addheader("Location", "http://stackoverflow.com/");
これはC#で書かれていますが、コンセプトはほとんどの言語でほぼ同じでなければなりません。
重複:What should the HTTP response be when the resource is forbidden but there’s an alternate resource?
のみ3XX(リダイレクト)または201作成応答のために意図されLocation headerを送信します。 ほとんどのクライアントで動作するかもしれませんが、HTTPがどのように設計されたかはわかりません。
実際に正しいステータスコードがあり、HTTP仕様 に従っている場合は、303とその他の回答をしたり、HTTP authenticationを使用してください。
ローカルで実行しようとすると次のようになります。 この操作には、IIS統合パイプラインモードが必要です。 – JPJedi
Response.Headers.AddまたはResponse.AddHeaderを使用していますか?また、Context.Response.AddHeaderに変更することもできます。 – Brandon
ログインページにリダイレクトされたときにリクエストを閉じる必要はありませんか? – JPJedi