カスタム エラーがない場合に asp.net が通常の 404 応答を行うのに対し、カスタム エラーをオンにすると 302 または 200 で応答するようになるのはなぜですか?
たとえば、次のすべてを試しました。
<customErrors defaultRedirect="Error.aspx" mode="Off">
<error statusCode="404" redirect="Error.aspx?status=404" />
</customErrors>
と
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/error.aspx?status=404" responseMode="ExecuteURL" />
</httpErrors>
と
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/error.aspx?status=404" responseMode="Redirect" />
</httpErrors>
私が知る限り、エラーページにリダイレクトするときに一番上のものは 302 を返し、2 番目のものは何らかの理由で 200 を返し、最後のものも 302 を返します。私はまだ 404 (または何でも)他のエラー コード) が表示されますが、わかりやすいメッセージが表示されます。
エラーページで別の応答を返すことができることに気付きましたが、それはエラーページに 404 コードを与え、元の要求で 302 を保持しているようです。
私が何かを見逃していない限り...