11

共有ホスティングプロバイダーで公開されている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を設定すると、このタイプのアドレスがサポートされないのではないかと思います。ユーザーにこのイエローページが表示されないようにするにはどうすればよいですか。

編集: デビッドの答えに感謝します、しかし私は実際の理由と正しい解決策を見つけました。私の答えを見てください。

4

5 に答える 5

12

@Mostafa:まったく同じ問題に直面しました。web.configファイルに以下を追加することで解決できることがわかりました。

<system.webServer>
    <httpErrors errorMode="Custom">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" subStatusCode="-1" prefixLanguageFilePath="" path="/MyErrorPage.aspx" responseMode="ExecuteURL" />
    </httpErrors>
  </system.webServer>
于 2012-02-01T12:23:04.457 に答える
1

これは、ASP.Net モジュールが特定のファイル拡張子を処理するように構成されているためです。IIS は、.aspx を ASP.Net モジュールで処理する必要があると判断し、web.config (および実際には web.config 自体) の customerrors セクションが開始されます。

ASP.Net 用に構成されていないページを要求したため、IIS は要求を渡さずに独自に処理します。

于 2010-12-20T08:15:17.003 に答える
0

まず、ディレクトリの URL は末尾にスラッシュを付ける必要があります。そうしないと、単なる拡張子のないファイルになります。www.mysite.com/NotExistDirectory/
次に、ASP.net IIS モジュールは ASP MIME タイプのみのハンドラーであるため、ディレクトリは Web サーバー用に残されます。3 番目に、customerror は system.web の一部です。web は ASP.net 構成の一部で
あり、httperror は system.webserver の一部です。IIS 構成の一部です。
IIS 構成 httperror で http モジュールの既定値を想定すると、存在しないディレクトリのカスタム エラーで動作します。

于 2013-01-10T16:58:17.540 に答える
0

.aspx 以外の他のファイルについては、IIS でこれを構成できます: http://www.xefteri.com/articles/show.cfm?id=11

于 2010-12-20T08:31:05.427 に答える