共用方式為


新增 HTTP 萬用字元重新導向 < 新增>

概觀

專案的 <add> 元素 <httpRedirect> 會將萬用字元重新導向規則新增至重新導向規則的集合。 萬用字元規則可讓您新增內容群組的重新導向規則。 例如,如果您在將應用程式移轉至使用 *.aspx 副檔名的 .NET 頁面之後移除了所有 *.asp 頁面,您可以新增萬用字元重新導向規則,以將舊 ASP 應用程式的所有 *.asp 要求重新導向至網站的首頁。

注意

如果您新增萬用字元重新導向規則,則必須移除 區段中的預設目的地值 <httpRedirect> ,才能讓萬用字元規則運作。

相容性

版本 備註
IIS 10.0 未在 IIS 10.0 中修改專案 <add>
IIS 8.5 未在 IIS 8.5 中修改專案 <add>
IIS 8.0 未在 IIS 8.0 中修改專案 <add>
IIS 7.5 未在 IIS 7.5 中修改專案 <add>
IIS 7.0 元素 <add><httpRedirect> 元素是在 IIS 7.0 中引進。
IIS 6.0 N/A

安裝程式

IIS 7 和更新版本的預設安裝無法使用 HTTP 重新導向。 若要安裝它,請使用下列步驟。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在工作列上,按一下 [伺服器管理員]
  2. [伺服器管理員] 中,按一下 [管理] 功能表,然後按一下 [新增角色及功能]。
  3. 在 [ 新增角色及功能精 靈] 中,按 [ 下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [ 下一步]。
  4. 在 [ 伺服器角色] 頁面上,依 序展開 [Web 服務器] ([IIS) ]、[ Web 服務器]、[ 一般 HTTP 功能],然後選取 [ HTTP 重新導向]。 按一下 [下一步] 。
    I S Manager 中下拉式功能表的螢幕擷取畫面。H T T P 重新導向已醒目提示。 .
  5. 在 [選取功能] 頁面上,按 [下一步]
  6. 在 [確認安裝選項] 頁面上,按一下 [安裝]
  7. 在 [結果] 頁面上,按一下 [關閉]

Windows 8 或 Windows 8.1

  1. 在 [開始] 畫面上,將指標一路移至左下角,以滑鼠右鍵按一下 [開始] 按鈕,然後按一下[主控台]。
  2. 主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。
  3. 依序展開 [Internet Information Services]、[ 萬維網服務]、[ 一般 HTTP 功能],然後選取 [ HTTP 重新導向]。
    [Windows 功能] 對話方塊的螢幕擷取畫面。H T T P 重新導向會在下拉式功能表中反白顯示。
  4. 按一下 [確定]。
  5. 按一下 [關閉] 。

Windows Server 2008 或 Windows Server 2008 R2

  1. 在工作列上,按一下 [開始],指向 [系統管理工具],然後按一下[伺服器管理員]。
  2. [伺服器管理員階層] 窗格中,展開 [角色],然後按一下 [Web 服務器] (IIS)
  3. 在 [ Web Server (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。
  4. 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,展開[一般 Http 功能],選取 [HTTP 重新導向],然後按 [下一步]。
    [新增匯總服務] 精靈的螢幕擷取畫面,其中顯示 [選取角色服務] 頁面。H T T P 重新導向會在下拉式功能表中反白顯示。
  5. 在 [確認安裝選項] 頁面上,按一下 [安裝]
  6. 在 [結果] 頁面上,按一下 [關閉]

Windows Vista 或 Windows 7

  1. 在工作列上,按一下 [開始],然後按一下[主控台]。
  2. 主控台中,按一下 [程式和功能],然後按一下[開啟或關閉 Windows 功能]。
  3. 依序展開 [Internet Information Services]、[ World Wide Web 服務] 和 [ 一般 Http 功能]。
  4. 選取 [HTTP 重新導向],然後按一下 [ 確定]。
    [Windows 功能] 對話方塊的螢幕擷取畫面。H T T P 重新導向已醒目提示。

作法

沒有用於新增 IIS 7 萬用字元 HTTP 重新導向的使用者介面。 For examples of how to add <add> elements to the <httpRedirect> element programmatically, see the Code Samples section of this document.

組態

屬性

屬性 描述
destination 必要的字串屬性。

指定要重新導向符合相關萬用字元值之要求的位置。
wildcard 必要的字串屬性。

指定要比較要求的唯一萬用字元值。 如果要求符合萬用字元值,則會將要求重新導向至指定的目的地。

子元素

無。

組態範例

下列組態範例會新增萬用字元重新導向專案,將 ASP 檔案的所有要求重新導向至網站的首頁。

注意

如果您已從您的網站移除所有 ASP 型應用程式,而且您想要將舊應用程式的用戶端要求重新導向至網站的根目錄,而不是接收 HTTP 404 找不到 回應,則此範例很有用。

<configuration>
   <system.webServer>
      <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
         <add wildcard="*.php" destination="/default.htm" />
      </httpRedirect>
   </system.webServer>
</configuration>

範例程式碼

下列程式碼範例會新增萬用字元重新導向專案,將 ASP 檔案的所有要求重新導向至網站的首頁。

注意

如果您已從您的網站移除所有 ASP 型應用程式,而且您想要將舊應用程式的用戶端要求重新導向至網站的根目錄,而不是接收 HTTP 404 找不到 回應,則此範例很有用。

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /enabled:"True" /exactDestination:"True" /httpResponseStatus:"Found"

appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /+"[wildcard='*.asp',destination='/default.htm']"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using(ServerManager serverManager = new ServerManager()) { 
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection httpRedirectSection = config.GetSection("system.webServer/httpRedirect");
         httpRedirectSection["enabled"] = true;
         httpRedirectSection["exactDestination"] = true;
         httpRedirectSection["httpResponseStatus"] = @"Found";

         ConfigurationElementCollection httpRedirectCollection = httpRedirectSection.GetCollection();
         ConfigurationElement addElement = httpRedirectCollection.CreateElement("add");
         addElement["wildcard"] = @"*.asp";
         addElement["destination"] = @"/default.htm";
         httpRedirectCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")

      Dim httpRedirectSection As ConfigurationSection = config.GetSection("system.webServer/httpRedirect")
      httpRedirectSection("enabled") = True
      httpRedirectSection("exactDestination") = True
      httpRedirectSection("httpResponseStatus") = "Found"

      Dim httpRedirectCollection As ConfigurationElementCollection = httpRedirectSection.GetCollection
      Dim addElement As ConfigurationElement = httpRedirectCollection.CreateElement("add")
      addElement("wildcard") = "*.asp"
      addElement("destination") = "/default.htm"
      httpRedirectCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpRedirectSection = adminManager.GetAdminSection("system.webServer/httpRedirect", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRedirectSection.Properties.Item("enabled").Value = true;
httpRedirectSection.Properties.Item("exactDestination").Value = true;
httpRedirectSection.Properties.Item("httpResponseStatus").Value = "Found";

var httpRedirectCollection = httpRedirectSection.Collection;
var addElement = httpRedirectCollection.CreateNewElement("add");
addElement.Properties.Item("wildcard").Value = "*.asp";
addElement.Properties.Item("destination").Value = "/default.htm";
httpRedirectCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set httpRedirectSection = adminManager.GetAdminSection("system.webServer/httpRedirect", "MACHINE/WEBROOT/APPHOST/Default Web Site")
httpRedirectSection.Properties.Item("enabled").Value = True
httpRedirectSection.Properties.Item("exactDestination").Value = True
httpRedirectSection.Properties.Item("httpResponseStatus").Value = "Found"

Set httpRedirectCollection = httpRedirectSection.Collection
Set addElement = httpRedirectCollection.CreateNewElement("add")
addElement.Properties.Item("wildcard").Value = "*.asp"
addElement.Properties.Item("destination").Value = "/default.htm"
httpRedirectCollection.AddElement(addElement)

adminManager.CommitChanges()