HTTP 와일드카드 리디렉션 <추가>
개요
<add>
요소의 <httpRedirect>
요소는 리디렉션 규칙 컬렉션에 와일드카드 리디렉션 규칙을 추가합니다. 와일드카드 규칙을 사용하면 콘텐츠 그룹에 대한 리디렉션 규칙을 추가할 수 있습니다. 예를 들어 애플리케이션을 *.aspx 파일 이름 확장명을 사용하는 .NET 페이지로 마이그레이션한 후 모든 *.asp 페이지를 제거한 경우 이전 ASP 기반 애플리케이션에 대한 모든 *.asp 요청을 웹 사이트의 홈 페이지로 리디렉션하는 와일드카드 리디렉션 규칙을 추가할 수 있습니다.
참고
와일드카드 리디렉션 규칙을 추가하는 경우 와일드카드 규칙이 작동하려면 섹션에서 기본 대상 값을 <httpRedirect>
제거해야 합니다.
호환성
버전 | 참고 |
---|---|
IIS 10.0 | <add> 요소가 IIS 10.0에서 수정되지 않았습니다. |
IIS 8.5 | <add> 요소가 IIS 8.5에서 수정되지 않았습니다. |
IIS 8.0 | <add> 요소가 IIS 8.0에서 수정되지 않았습니다. |
IIS 7.5 | <add> 요소가 IIS 7.5에서 수정되지 않았습니다. |
IIS 7.0 | <add> 요소의 <httpRedirect> 요소는 IIS 7.0에서 도입되었습니다. |
IIS 6.0 | 해당 없음 |
설치 프로그램
HTTP 리디렉션은 IIS 7 이상의 기본 설치에서 사용할 수 없습니다. 설치하려면 다음 단계를 사용합니다.
Windows Server 2012 또는 Windows Server 2012 R2
- 작업 표시줄에서 서버 관리자를 클릭합니다.
- 서버 관리자관리 메뉴를 클릭한 다음 역할 및 기능 추가를 클릭합니다.
- 역할 및 기능 추가 마법사에서 다음을 클릭합니다. 설치 유형을 선택하고 다음을 클릭합니다. 대상 서버를 선택하고 다음을 클릭합니다.
- 서버 역할 페이지에서 웹 서버(IIS)를 확장하고 웹 서버를 확장하고 일반적인 HTTP 기능을 확장한 다음 HTTP 리디렉션을 선택합니다. 다음을 클릭합니다.
. - 기능 선택 페이지에서 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 8 또는 Windows 8.1
- 시작 화면에서 포인터를 왼쪽 아래 모서리로 이동하고 시작 단추를 마우스 오른쪽 단추로 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스를 확장하고, World Wide Web Services를 확장하고, 일반적인 HTTP 기능을 확장한 다음, HTTP 리디렉션을 선택합니다.
- 확인을 클릭합니다.
- 닫기를 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 서버 관리자 클릭합니다.
- 서버 관리자 계층 구조 창에서 역할을 확장한 다음 웹 서버(IIS)를 클릭합니다.
- 웹 서버(IIS) 창에서 Role Services 섹션으로 스크롤한 다음 역할 서비스 추가를 클릭합니다.
- 역할 서비스 추가 마법사의 역할 서비스 선택 페이지에서 공통 Http 기능을 확장하고 HTTP 리디렉션을 선택한 다음 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows Vista 또는 Windows 7
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 제어판프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스, World Wide Web Services, 일반 Http 기능을 차례로 확장합니다.
- HTTP 리디렉션을 선택한 다음 확인을 클릭합니다.
방법
IIS 7에 대한 와일드카드 HTTP 리디렉션을 추가하기 위한 사용자 인터페이스가 없습니다. 요소를 프로그래밍 방식으로 요소에 <httpRedirect>
추가하는 <add>
방법의 예는 이 문서의 코드 샘플 섹션을 참조하세요.
구성
특성
attribute | Description |
---|---|
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()