UPD :エラー処理の完全なソリューションは次のとおりです
プレーンなバニラ MVC4 Web プロジェクトがあります。何も追加せず、何も削除せず、Visual Studio で新しいプロジェクトを作成しただけです。
web.config
カスタム エラー ページ ハンドラーを追加しました。
<customErrors mode="On" defaultRedirect="~/Content/Error.htm" redirectMode="ResponseRewrite" />
~/Content/Error.htm
ファイルは次のとおりです。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>OOPS! Error Occurred. Sorry about this.</title>
</head>
<body>
<h2>OOPS! Error Occurred</h2>
</body>
</html>
サイトで 404 エラーが発生するたびに、Error.htm は Firefox と Chrome でプレーンテキストとして提供されます。
Fiddler は、エラー ページがcontent-type
ヘッダーなしで提供され、ブラウザーがページをプレーンテキストとしてレンダリングするようになると述べています。
content-type
ヘッダー付きの IIS サーバー エラー ページを強制する方法はありますか??
ps実際の問題は、Global.asaxで独自のエラー処理を行う複雑なMVC4プロジェクトにあります。しかし、一部のエラーは ASP パイプを通過せず、IIS によってのみ処理されることがわかりました。URL の末尾にあるドットのように。< httpErrors />を使用したソリューションは正しい応答を提供しますが、Global.asax でのカスタム エラー処理、Application_Error() はこの方法で呼び出されません。
UPDどうやらこの戦争には勝てないようだ。IE は適切にレンダリングされた html を表示し、Firefox と Chrome はプレーン テキストとして表示します。プレーンテキストに切り替えると、Firefox と IE は空白を正しく表示し、IE は空白を飲み込んで html をレンダリングしようとします。エラーページとして画像を提供しようとすると、Firefox と Chrome で画像が表示されます。IE はこれを示しています:
Facepalm!