HttpErrorsSection クラス
Web サーバーの HTTP エラー処理を構成します。
構文
class HttpErrorsSection : ConfigurationSectionWithCollection
メソッド
次の表に、HttpErrorsSection
クラスによって公開されるメソッドの一覧を示します。
名前 | 説明 |
---|---|
[追加] | (ConfigurationSectionWithCollection から継承。) |
Clear | (ConfigurationSectionWithCollection から継承。) |
Get | (ConfigurationSectionWithCollection から継承。) |
GetAllowDefinition | (ConfigurationSection から継承。) |
GetAllowLocation | (ConfigurationSection から継承。) |
削除 | (ConfigurationSectionWithCollection から継承。) |
RevertToParent | (ConfigurationSection から継承。) |
SetAllowDefinition | (ConfigurationSection から継承。) |
SetAllowLocation | (ConfigurationSection から継承。) |
プロパティ
次の表は、HttpErrorsSection
クラスによって公開されるプロパティの一覧です。
名前 | 説明 |
---|---|
DefaultPath |
HTTP エラー ファイルまたは URL の既定のパスを含む、オプションの string 値。 空でない場合、この値は新しく作成された HttpErrorElement オブジェクトの Path プロパティによって継承されます。 |
DefaultResponseMode |
HTTP エラーに対する既定の応答を構成する、オプションの sint32 値。 空でない場合、この値は新しく作成された HttpErrorElement オブジェクトの ResponseMode プロパティによって継承されます。 使用できる値の一覧は、後述の「注釈」セクションに示します。 |
DetailedMoreInformationLink |
ページの下部に表示される、発生したエラーに関する詳細情報を含むページへのリンクの URL を指定する、オプションの読み取り/書き込みの string 値。 エラーの status 、substatus 、hresult 、messageid は、クエリ文字列の一部として送信されます。 このプロパティを使用すると、エンド ユーザーにエラー情報があるカスタマイズした場所を指定できます。 既定値は、https://go.microsoft.com/fwlink/?LinkID=62293 です。 |
ErrorMode |
詳細なエラー機能をオンにする、オフにする、またはローカル クライアントにのみ表示するかを指定する、読み取り/書き込みの sint32 列挙型。 使用できる値の一覧は、後述の「注釈」セクションに示します。 |
ExistingResponse |
IIS で既存のカスタム エラーを処理する方法を指定する、読み取り/書き込みの sint32 列挙型。 使用できる値の一覧は、後述の「注釈」セクションに示します。 |
HttpErrors |
特定の HTTP エラーの処理を構成する、HttpErrorElement 値の配列。 |
Location |
(ConfigurationSection から継承。)キー プロパティ。 |
Path |
(ConfigurationSection から継承。)キー プロパティ。 |
SectionInformation |
(ConfigurationSection から継承。) |
サブクラス
このクラスにはサブクラスが含まれていません。
解説
このクラスは、構成ファイルの <httpErrors>
セクションの設定を公開します。
HttpErrorsSection
クラスによって表されるカスタム エラーは IIS 7 に関連するものであり、System.WebServer.Configuration 名前空間にあります。 これらの各エラーは、HttpErrorElement クラスのインスタンスによって表されます。
CustomErrorsSection クラスによって表されるカスタム エラーは ASP.NET に固有であり、System.Web 名前空間にあります。 これらの各エラーは、CustomError クラスのインスタンスによって表されます。
次の表に、DefaultResponseMode
プロパティとして使用できる値の一覧を示します。 既定値は 0 (File
) です。
Value | キーワード | 説明 |
---|---|---|
0 | File |
Web サーバーでは、HttpErrorElement クラスの Path プロパティで指定された静的ファイルから Web ページを返します。 注: カスタム エラーは言語固有であり、通常はクライアントの言語でカスタム エラーを返します。 これには、クライアントの言語パックがインストールされている必要があります。 ファイル パスの構成は PrefixLanguageFilePath\ClientLanguageID\ErrorCodeFile のようになります。たとえば、PrefixLanguageFilePath が "d:\inetpub\custerr" の場合、クライアント ブラウザーから Accept-Language ヘッダーに "en-us" が送信され、エラー コードは 404 で、en-US 言語パックがインストールされている場合の結果のパスは d:\inetpub\custerr\en-us\404.htm になります。 システム言語が ja-JP で、en-US 言語パックがインストールされていない場合、結果のパスは d:\inetpub\custerr\ja-jp\404.htm になります。 |
1 | ExecuteURL |
Web サーバーでは、HttpErrorElement クラスの Path プロパティで指定された内部 ASP ページを返します。 URL は、同じアプリケーション プールのスコープ内にある必要があります。 注: IIS 7 では、リダイレクトによって URL が /<CustomErrorPage>[?<QueryString>]&resourcePath=<OriginalURL>[?<OriginalQueryString>]&statusCode=<StatusCode> の形式で作成されます (角かっこ内の項目はオプション)。 |
2 | Redirect |
Web サーバーでは、HTTP 302 Found の応答を提供し、その応答の Location フィールドに HttpErrorElement クラスの Path プロパティで指定された URL を含めます。 応答が HEAD メソッドではなく GET メソッドである場合は、新しい URL への短いハイパーリンクを持つエンティティも含める必要があります。 注: IIS 7 では、リダイレクトによって URL が /<CustomErrorPage>[?<QueryString>]&resourcePath=<OriginalURL>[?<OriginalQueryString>]&statusCode=<StatusCode> の形式で作成されます (角かっこ内の項目はオプション)。 |
次の表に、ErrorMode
プロパティとして使用できる値の一覧を示します。 既定値は 0 (DetailedLocalOnly
) です。
Value | キーワード | 説明 |
---|---|---|
0 | DetailedLocalOnly |
詳細なエラー応答は、要求がローカル コンピューターから送信された場合にのみ生成されます。 要求が外部アドレスから送信された場合、サーバーでカスタム エラー応答が生成されます。 注: ExistingResponse プロパティの値によって、詳細エラーとカスタム エラーのどちらが生成されるかが決まります。 |
1 | Custom |
モジュールまたはサーバーで生成されるエラーは、ユーザーが指定したカスタム ページに置き換えられます。 このモードは、エンド ユーザーによりわかりやすいエラー メッセージを提供するのに便利です。 注: この設定では、ローカル要求の場合でも、詳細なエラーがオフになります。 |
2 | Detailed |
アプリケーション エラーに関する詳細な情報が含まれるページが表示され、カスタム エラーは表示されません。 このモードは、Web サイトとアプリケーションのテストとデバッグに役立ちます。 注: リモート クライアントであっても、望ましくない情報漏えいにつながる可能性のある詳細なエラー情報を受け取るため、ErrorMode を Detailed に設定することにはセキュリティ リスクが伴います。 |
次の表に、ExistingResponse
プロパティとして使用できる値の一覧を示します。 既定値は 0 (Auto
) です。
Value | キーワード | 説明 |
---|---|---|
0 | Auto |
応答は、次の一連の順序条件のうち、最初に一致したものによって変わります。 1. fTrySkipCustomErrors フラグを使用して IHttpResponse::SetStatus メソッドが呼び出された場合、既存の応答が渡され、詳細エラーもカスタム エラーも表示されません。2. ErrorMode プロパティが Custom に設定されている場合、応答は置き換えられます。3. ErrorMode が Detailed に設定されており、既存の応答がある場合は、その応答が渡されます。4. ErrorMode が Detailed に設定されており、既存の応答がない場合、その応答は詳細エラーに置き換えられます。 |
1 | Replace |
SetStatus が呼び出された方法に関係なく、既存の応答は常に置き換えられます。 |
2 | PassThrough |
既存の応答が常に使用されます。 |
例
次のコード例では、DefaultPath
、ErrorMode
、DetailedMoreInformationLink
の各プロパティの新しい値を指定します。 ヘルパー関数により、変更の前後に構成セクションの値が表示されます。
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
' Get the HTTP errors section.
Set oSection = oWebAdmin.Get( _
"HttpErrorsSection.Path='" & _
"MACHINE/WEBROOT/APPHOST/',Location=''")
' Display the class name of the section.
WScript.Echo "[ " & oSection.Path_.Class & " ]"
' Display the initial values.
Call DisplayValues("Initial Values", oSection)
' Specify the path of a default error page.
oSection.DefaultPath = _
"D:\inetpub\custerr\en-US\contoso\DefaultErrorPage.htm"
' Specify a detailed more information link.
oSection.DetailedMoreInformationLink = "http://www.contoso.com/MoreInfo.htm"
'Set the ErrorMode property to Custom.
oSection.ErrorMode = 1
' Save the values to configuration.
oSection.Put_
' Refresh the oSection object variable with the new values.
oSection.Refresh_
' Display the changed values.
Call DisplayValues("New Values", oSection)
' ==== DisplayValues helper function. ====
Function DisplayValues(HeadingText, oSection)
' Display a heading.
WScript.Echo
WScript.Echo HeadingText
WScript.Echo String(Len(HeadingText), "-")
' Display the non-embedded section properties.
For Each prop In oSection.Properties_
If Left( _
Prop.Qualifiers_("CIMTYPE"), 6) _
<> "object" then
WScript.Echo prop.Name & ": " & prop.Value
End If
Next
End Function
継承階層
ConfigurationSectionWithCollection
HttpErrorsSection
要件
型 | 説明 |
---|---|
クライアント | - Windows Vista 上の IIS 7.0 - Windows 7 上の IIS 7.5 - Windows 8 上の IIS 8.0 - Windows 10 上の IIS 10.0 |
[サーバー] | - Windows Server 2008 上の IIS 7.0 - Windows Server 2008 R2 上の IIS 7.5 - Windows Server 2012 上の IIS 8.0 - Windows Server 2012 R2 上の IIS 8.5 - Windows Server 2016 上の IIS 10.0 |
Product | - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0 |
MOF ファイル | WebAdministration.mof |
参照
ConfigurationSection クラス
ConfigurationSectionWithCollection クラス
CustomError クラス
CustomErrorsSection クラス
HttpErrorElement クラス
IHttpResponse::SetStatus メソッド