これと同様の質問が StackOverflow や他のサイトで多数見られますが、私が経験している問題を解決するものは何もありません。
ASP.NET エラーに対して 500 ステータス コードとカスタム エラー ページ (静的 HTML ファイル) を返すようにサイトを構成しようとしていますが、通常は customErrors が "Off" に設定されている場合は 500 を返し、ページに対しては 404 ステータス コードを返します。システムが見つからないと報告したこと (404 ページは IIS によって設定された静的ページではなく、CMS システムによって生成されたものです)。
途中ですが、ちょっとした壁にぶち当たりました。
現在、システムが 404 ステータス コードを含むページを返す場合、正しい 404 ステータス コードを返すことができますが、ASP.NET サーバー エラーに対して 500 ステータス コードを返すことができなくなりました。Response.TrySkipIisCustomErrors = true を設定することでこれを管理しました。ただし、私の 500 エラーはより複雑であることがわかっています。web.config から customErrors 構成セクションを削除すると、500 エラーが発生しますが、これは醜い ASP.NET YSOD です。httpErrors構成セクションにどのような設定を使用しても、IIS GUIを介して何を設定しても、IISを使用してカスタムページを指すようにこれを取得できないようです。customErrors セクションを再度追加すると、期待どおりにカスタム エラー ページが表示されますが、200 または 302 エラーが発生します (redirectMode 属性の値によって異なります)。
誰でもアイデアはありますか?
httpErrors 構成セクションに関しては、これまでに次のことを試しました。
errorMode を「Custom」に設定し、statusCode が「500」で、subStatusCode が「-1」のエラーの静的コンテンツを指定する (最初に既存の 500 エラーを削除する) errorMode を「Detailed」に設定し、エラーの静的コンテンツを「500」の statusCode と「-1」の subStatusCode (最初に既存の 500 エラーを削除) 上記の両方の構成オプションに existingResponse="PassThrough" を設定します。