HttpRedirectSection 类
配置 HTTP 重定向。
语法
class HttpRedirectSection : ConfigurationSectionWithCollection
方法
下表列出了 HttpRedirectSection
类公开的方法。
名称 | 说明 |
---|---|
添加 | (继承自 ConfigurationSectionWithCollection。) |
清除 | (从 ConfigurationSectionWithCollection 继承。) |
Get | (从 ConfigurationSectionWithCollection 继承。) |
GetAllowDefinition | (继承自 ConfigurationSection。) |
GetAllowLocation | (从 ConfigurationSection 继承。) |
删除 | (从 ConfigurationSectionWithCollection 继承。) |
RevertToParent | (从 ConfigurationSection 继承。) |
SetAllowDefinition | (从 ConfigurationSection 继承。) |
SetAllowLocation | (从 ConfigurationSection 继承。) |
属性
下表列出了 HttpRedirectSection
类公开的属性。
名称 | 描述 |
---|---|
ChildOnly |
一个读/写 boolean 值。 如果重定向目标位于原始 URL 的子目录中,则为 true ;否则,为 false 。 默认为 false 。 此设置提醒 IIS 重定向应只发生一次,并阻止替换引擎中的无限循环。 |
Destination |
一个必需的非空读/写 string 值,该值包含要将用户重定向到的文件名、目录路径或 URL。 该字符串可以包含重定向变量,以便将原始 URL 的部分内容传递给目标 URL。 可以在字符串中使用多个变量。 |
Enabled |
一个读/写 boolean 值。 如果已启用 HTTP 重定向,则为 true ;否则为 false 。 默认为 false 。 |
ExactDestination |
一个读/写 boolean 值。 如果 URL 被视为绝对位置,则为 true ;否则,为 false 。 对 true 进行设置可防止替换引擎将原始请求的资源追加到重定向 URL。 |
HttpRedirect |
一个由 WildcardRedirectElement 值构成的数组,通过使用匹配条件,将文件名、目录路径或 URL 请求重定向到指定目标。 |
HttpResponseStatus |
一个读/写 sint32 枚举,包含 HTTP 响应状态。 后文的“备注”部分列出了可能的值。 |
Location |
(继承自 ConfigurationSection 。)一个键属性。 |
Path |
(继承自 ConfigurationSection 。)一个键属性。 |
SectionInformation |
(从 ConfigurationSection 继承。) |
子类
此类不包含子类。
注解
下表列出了 HttpResponseStatus
属性的可能值。 默认值为 302 (Found
)。
值 | 关键字 | 说明 |
---|---|---|
301 | Permanent |
IIS 告知 Web 客户端所请求资源的位置已永久更改。 新位置在 Location HTTP 标头中指定。 此设置允许保留 HTTP URL 链接记录的 Web 客户端使用新位置更新存储的 URL。 |
302 | Found |
IIS 告知 Web 客户端向 Location HTTP 标头中指定的位置发出新请求。 |
307 | Temporary |
IIS 告知 Web 浏览器将带有原始数据的 POST 请求重新发出到新位置。 通常,当 Web 浏览器发出 POST 请求并从 Web 服务器接收 302 重定向消息时,浏览器会发出新位置的 GET 请求。 这会导致原始 POST 请求中的数据丢失。 如果浏览器收到 307 重定向,它可以重新发出 POST,同时原始数据保持不变。 |
示例
第一个示例展示了 HttpRedirectSection
类的所有属性,包括嵌入 SectionInformation
和 HttpRedirect
属性。
第二个示例创建了四个通配符重定向元素,并尝试将它们添加到默认网站的 <httpRedirect>
节。 如果存在重复条目,则代码会报告该情况;否则,它会添加新条目。 最后,它显示所有条目的新计数以及每个条目的通配符和目标。
' 1) First example: Display the httpRedirect properties
' for the default Web site.
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = _
GetObject("winmgmts:root\WebAdministration")
' Get the httpRedirect section for the default Web site.
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")
oSite.GetSection "HttpRedirectSection", oSection
' Display the nonembedded properties.
WScript.Echo "=============================="
WScript.Echo "HttpRedirectSection Properties"
WScript.Echo "=============================="
For Each vProp In oSection.Properties_
If (vProp.Name <> "HttpRedirect") And _
(vProp.Name <> "SectionInformation") Then
WScript.Echo vProp.Name & ": " & vProp.Value
End If
Next
' Display the contents of the SectionInformation property.
WScript.Echo
WScript.Echo "--------------------------------------"
WScript.Echo "HttpRedirectSection.SectionInformation"
WScript.Echo "--------------------------------------"
For Each vProp In oSection.SectionInformation.Properties_
WScript.Echo vProp.Name & ": " & vProp.Value
Next
WScript.Echo
' Display the WildcardRedirectElement instances in the
' HttpRedirect array property.
WScript.Echo "--------------------------------"
WScript.Echo "HttpRedirectSection.HttpRedirect"
WScript.Echo "--------------------------------"
For Each oWildcardRedirectElement In oSection.HttpRedirect
For Each vProp In oWildcardRedirectElement.Properties_
WScript.Echo vProp.Name & ": " & vProp.Value
Next
WScript.Echo
Next
' 2) Second example: Add four WildcardRedirectElement
' instances to the default Web site and display the result.
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = _
GetObject("winmgmts:root\WebAdministration")
' Get the httpRedirect section for the default Web site.
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")
oSite.GetSection "HttpRedirectSection", oSection
' Set up a loop to add four new redirects.
For Counter = 1 To 4
' Create a new instance of WildcardRedirectElement.
' Note that you do not need to use SpawnInstance_.
Set oWildcardRedirect = _
oWebAdmin.Get("WildcardRedirectElement")
' Specify the page to be redirected.
oWildcardRedirect.Wildcard = _
"Adatum.com/Page" & Counter & ".htm"
' Specify the destination for the redirected page.
oWildcardRedirect.Destination = _
"Contoso.com/Page" & Counter & ".htm"
' Prepare to catch duplicate entries.
On Error Resume Next
' Attempt to add the wildcard entry to the collection.
' (You do not need to use Put_ to save the change.)
oSection.Add "HttpRedirect", oWildcardRedirect
' Catch duplicate entries.
If Err.Number = -2147024713 Then
WScript.Echo "Redirect entry for """ & _
oWildcardRedirect.Wildcard & """ already exists."
WScript.Echo
End If
Next
' Update the contents of the oSection variable.
oSection.Refresh_
' Display a header and the new number of entries.
WScript.Echo "--------------------------------"
WScript.Echo "HttpRedirectSection.HttpRedirect"
WScript.Echo "--------------------------------"
WScript.Echo "The number of redirect entries is now " & _
UBound(oSection.HttpRedirect) + 1 & "."
WScript.Echo
' Display the new set of wildcard redirect elements.
For Each oWildcardRedirectElement In oSection.HttpRedirect
WScript.Echo "Wildcard: " & _
oWildcardRedirectElement.Wildcard & vbTab & _
"Destination: " & _
oWildcardRedirectElement.Destination
WScript.Echo
Next
继承层次结构
ConfigurationSectionWithCollection
HttpRedirectSection
要求
类型 | 描述 |
---|---|
客户端 | - IIS 7.0(在 Windows Vista 上) - IIS 7.5(在 Windows 7 上) - IIS 8.0(在 Windows 8 上) - IIS 10.0(在 Windows 10 上) |
服务器 | - IIS 7.0(在 Windows Server 2008 上) - IIS 7.5(在 Windows Server 2008 R2 上) - IIS 8.0(在 Windows Server 2012 上) - IIS 8.5(在 Windows Server 2012 R2 上) - IIS 10.0(在 Windows Server 2016 上) |
产品 | - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0 |
MOF 文件 | WebAdministration.mof |
另请参阅
ConfigurationSectionWithCollection 类
SectionInformation 类
WildcardRedirectElement 类