16

web.config で CustomErrors を使用してカスタム エラー ページを指定するサイトがありますが、これは問題なく機能しています。カスタム 404 ページは、IIS 構成でも指定されています (そうでない場合、カスタム 404 ページを取得できないため)。

しかし、ユーザーが要求された URL を見て、必要に応じてナビゲーションの提案を行う 404 を受け取った場合に作動するロジックがいくつかあります。このロジックは aspxerrorpath 値に依存します。私の開発用 PC では、 http://localhost:3092/FileNotFound.aspx?aspxerrorpath=/badpage.aspxのように、aspxerrorpath が URL に正しく追加されていますが、私のテスト サイトでは、URL に aspxerrorpath が追加されていません。そのため、すべてのカスタム ロジックがバイパスされ、提案が機能しません。これが IIS 構成の問題なのか、それとも何か他の問題なのかはわかりません。Web サーバーは IIS 7 を搭載した Windows Server 2008 です。

何かご意見は?

どうもありがとう。

4

2 に答える 2

18

エラーが .NET によってキャッチされた場合 (および web.config で指定されたエラー ページが使用される場合)、aspxerrorpath パラメーターが渡されます。これは、開発 Web サーバーを使用している場合、または IIS がファイルの存在を確認しないように構成されている場合に発生します。

IIS がファイルの存在を確認すると、IIS で構成されたカスタム エラーが使用され、要求された URL が次のようにクエリ文字列に含まれます。

http://example.com/FileNotFound.aspx?404;http://example.com/badpage.aspx

于 2008-11-05T23:48:40.183 に答える
7

以下を web.config に追加する必要がある場合があります

<customErrors mode="On">
  <error statusCode="404" redirect="~/error404.aspx" />
</customErrors>

詳細については、http: //geekswithblogs.net/shahed/archive/2007/10/23/116278.aspxを確認してください。

更新: http://professionalaspnet.com/archive/2008/02/13/Enforcing-a-Custom-404-Page-in-ASP.NETで説明されているように、HTTPModules を使用してカスタム 404 エラー ページを表示する IIS7 機能を利用できます。.aspx

于 2008-11-06T00:17:19.907 に答える