共有ホスティングプロバイダーで公開されているASP.NET3.5Webサイトで、web.configファイルを次のように構成しました。
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="AccessDenied.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
ユーザーが存在しないページ(「www.example.com/NotExistPage.aspx」など)をリクエストした場合、ユーザーは期待どおりにFileNotFound.htmページにリダイレクトされます。
ただし、ユーザーが.aspx拡張子のない「www.example.com/NotExistDirectory」のようなアドレスを要求すると、IIS7.5エラーページが表示されます。
HTTPエラー404.0-見つかりません探しているリソースが削除されたか、名前が変更されたか、一時的に利用できません。
詳細なエラー情報:
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL http://www.example.com:80/NotExistDirectory
Physical Path D:\Websites\example\example.com\wwwroot\NotExistDirectory
Logon Method Anonymous
Logon User Anonymous
これはユーザーフレンドリーではないイエローページであり、私たちは予期していませんでした。
webconfigでcustomeErrorを設定すると、このタイプのアドレスがサポートされないのではないかと思います。ユーザーにこのイエローページが表示されないようにするにはどうすればよいですか。
編集: デビッドの答えに感謝します、しかし私は実際の理由と正しい解決策を見つけました。私の答えを見てください。