Webアプリケーションにカスタムエラーページを追加しようとしています。これまでのところ私は、要素の下に私のweb.configファイルにこれを追加しました:web.configを使用してIIS 7.5で既定のエラーページが表示されないようにする
<customErrors mode="On" >
<error statusCode="404" redirect="~/404.aspx"/>
<error statusCode="500" redirect="~/500.aspx"/>
</customErrors>
これは、.NETは、例えば、.aspxの拡張子を含むURLに触れるエラーの正常に動作します。しかし、カスタムエラーがwww.example.com/dasdaなどのURLに表示されるようにしたい場合
現在、上記のIIS 7.5のようなページを要求すると、それ自体のエラーメッセージが表示されます。私は要素の下にこれを追加しました:
<httpErrors >
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="~/404.aspx" responseMode="ExecuteURL" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" path="~/500.aspx" responseMode="ExecuteURL" />
</httpErrors>
私は、これはIISがカスタムエラーページを表示する代わりに、それはデフォルトのものだが、このケースではないようになるだろうと思いました。
私はIIS自体でカスタムエラーページを設定できますが、自分の状況に最適なソリューションはweb.configでこれを設定できることです。
私はhere示唆したように、Page_Loadイベントに私のカスタムエラーページにこれを追加しようとしている:
Response.TrySkipIisCustomErrors = true;
それは私のカスタムエラーページの代わりに表示から、既定のIISページを停止していないが。私はまた示唆されたものを試しましたhere:
<httpErrors >
<remove statusCode="404" subStatusCode='-1' />
<error statusCode="404" path="~/404.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
<remove statusCode="500" subStatusCode='-1' />
<error statusCode="500" path="~/500.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
</httpErrors>
しかし、これも機能しませんでした。
web.configファイルの設定を構成して、IISがデフォルトのエラーページを表示しないようにする方法はありますか?
これを投稿していただきありがとうございます。私はあなたの例と同じ問題を解決することができました。 – GibboK
これも私の問題を解決しました。ありがとう! –
errorModeフラグを発見してくれてありがとうございます。エフェクトの欠如は私の邪魔を迷惑にしていた。 – icelava