JSON Web APIを作成しています。API の特定の部分は、認証されたユーザーのみに制限されています。
認証されていない場合、サーバーは http ステータス コードを 403 に設定して応答を閉じるようにプログラムされています。
http_response_code(403);
exit();
それが私のコードが生成する出力である場合、iisexpress が飛び込んで自動生成された html ページを提供することは期待できません。この動作を無効にするにはどうすればよいですか?
次の構成をweb.configに追加しようとしました
<httpErrors>
<remove statusCode="403" subStatusCode="-1" />
</httpErrors>
それはうまくいきません。削除できたとしても、4xx と 5xx のステータス コードしか削除できず、自動生成されたページをすべて削除する必要があります。
コメントで提案されているように、customerrors を試しました
<customErrors mode="On" defaultRedirect="index.php">
<error statusCode="403" redirect="index.php"/>
</customErrors>
デフォルトの 403 ページがまだ表示されます。
また、実際にはデフォルトの 403 ページにリダイレクトされていない ('Location' ヘッダーが設定されていない) ことにも注意してください。私の応答でデフォルトのhtmlページをレンダリングしているだけです。