0

IIS7 では、500 ステータス コードを処理するようにカスタム エラー ページ (reportError.asp) を構成しました。応答アクションは「URL の実行」に設定されています。このページ (reportError.asp) は、COM ライブラリを呼び出して ASP エラーの詳細を報告します。COM ライブラリは、ASP の最後のエラー オブジェクト (およびその他の要求、応答、セッションなど) を取得し、包括的なエラー レポートを生成します。IIS6 ではすべて正常に動作します。

IIS7 で生成されたレポートには、エラーが発生した元のページではなく、reportError.asp ページに関連する詳細が含まれます。つまり、PATH_TRANSLATED サーバー変数には、元のファイルではなく reportError.asp ファイルへのパスが含まれます。エラー番号と説明は空白です。IIS7 では、コントロールをカスタム エラー ページに渡す方法が異なるようです。

生成されたレポートで、クエリ文字列変数に次の値が含まれていることに気付きました: 500;[ここでは元のページの完全な URL] これにより、IIS7 がカスタム エラー ページへの内部リダイレクトを行い、元のページをクエリ文字列として渡すと思われます。 IIS6 では別の方法で処理されていましたが、参照してください。

II6 と比較して、IIS7 のこの領域での動作の変更を知っている人はいますか?

4

1 に答える 1

0

ASP アプリケーションのカスタム エラー処理ページは、500.100 ステータス コードに設定する必要があります。500 ステータス コードのみに設定すると、ページは実行されますが、ASP エラーのコンテキストは利用できません。

于 2011-12-22T12:20:28.117 に答える