Partager via


Redirect Reference

Applies To: Windows Server 2003, Windows Server 2003 with SP1

Redirecting a client request is one way to ensure that users get the correct page, if your site is under construction or has changed identity. You can redirect client requests to a directory on the same Web server or to a different URL.

Configuring URL and Wildcard Redirection

You can configure redirection to a URL and wildcard redirection programmatically. Redirection variables and flags allow you to specify targets and behavior by changing the HttpRedirect metabase property.

The following example shows the format of a simple redirection string.

https://DestinationURL[,Flag[s]]

Where DestinationURL can include the following redirect variables to pass portions of the original URL with the destination URL. You can use more than one variable in a single redirection string.

Variable Description Example

$S

Passes the suffix of the requested URL to the new URL. The suffix is the portion of the original URL that remains after the redirected URL is substituted.

If the EXACT_DESTINATION flag is not set, the resulting destination URL will have the name of the requested file appended as a folder name, as well as the file name itself.

If the virtual directory that is mapped to the following Web site:

https://fabrikam/Scripts

is configured to be redirected to the following exact URL:

https://fabrikam/NewScripts$S

A new request for the following URL:

https://fabrikam/Scripts/Program.exe

Would be redirected automatically to the following URL:

https://fabrikam/NewScripts/Program.exe

$P

Passes parameters (such as querystring parameters) in the original URL to the new URL, without the question mark (?).

If the virtual directory that is mapped to the following Web site:

https://fabrikam/Scripts

is configured to be redirected to the following URL:

https://fabrikam/NewScripts$P

A new request for the following URL:

https://fabrikam/Scripts/File.asp?var1=5&var2=6

Would be redirected automatically to the following URL:

https://fabrikam/NewScriptsvar1=5&var2=6

$Q

Passes parameters (such as querystring parameters) in the original URL to the new URL, including the question mark (?).

If the virtual directory that is mapped to the following Web site:

https://fabrikam/Scripts

is configured to be redirected to the following exact URL:

https://fabrikam/NewScripts$S$Q

A new request for the following URL:

https://fabrikam/Scripts/File.asp?var1=5&var2=6

Would be redirected automatically to the following URL:

https://fabrikam/NewScripts/File.asp?var1=5&var2=6

$V

Passes the requested URL, without the server name and without any parameters. To include parameters, use the $P or $Q variable with the $V variable.

If the EXACT_DESTINATION flag is not set, the resulting destination URL will have the name of the requested file appended as a folder name, as well as the file name itself.

If the virtual directory that is mapped to the following Web site:

https://fabrikam/Scripts

is configured to be redirected to the following exact URL:

https://contoso$V

A new request for the following URL:

https://fabrikam/Scripts/File.asp

Would be redirected automatically to the following URL:

https://contoso/Scripts/File.asp

Redirection Using Wildcards

You can use redirect wildcards to match any number of characters in the original URL. Begin the destination URL with an asterisk (*) and a semicolon (;), and separate pairs of wildcard characters and destination URLs with a semicolon. The following example shows the format of a redirection string that uses wildcards.

*; Wildcard1; Destination1[; Wildcard2; Destination2][, Flags]

Where WildcardN can include an asterisk (*) to match any number of characters in the original URL and pass them to DestinationN by using the $0 through $9 variables defined in the following table.

"Variable" "Description" "Example"

$0 through $9

Passes the portion of the requested URL that matches the indicted wildcard character. Wildcards must start at $0 for each Wildcard;Destination set. The EXACT_DESTINATION flag must be appended to the redirection string.

If the virtual directory that is mapped to the following Web site:

https://fabrikam/Scripts

is configured with the following redirection string:

*; /Scripts/*_in.asp; /NewScripts/$0.dll; /Scripts/*_out.asp; https://contoso/NewScripts/$0.dll

A new request for the following URLs:

https://fabrikam/Scripts/data_in.asp

https://fabrikam/Scripts/data_out.asp

Would be redirected automatically to the following respective URLs:

https://fabrikam/NewScripts/data.dll

https://contoso/NewScripts/data.dll

!

Does not allow a redirect.

This variable is useful when you want to exempt files or subdirectories from redirection when a parent directory is configured to be redirected.

If the virtual directory that is mapped to the following Web site:

https://fabrikam/Scripts

is configured to be redirected, but the following Web site:

https://fabrikam/Scripts/Commerce/Accounts

needs to be exempt, programmatically set the redirection string for the exempted folder to the following

*;!

For example, to redirect all requests for /Scripts/Filename.stm to a single file called Default.stm, and to redirect all requests for /Scripts /Filename.htm to a single file called Default.htm, use the following redirect request for the /Scripts virtual directory:

*;Filename.stm;/Default.stm/Filename.htm;/Default.htm

Using Redirection Flags

The following flags augment redirect strings of either URL or wildcard format. More than one flag is allowed. Flags are appended programmatically to the redirection string in HttpRedirect, or configured by selecting check boxes in IIS Manager.

Flag User Interface Check Box Description

EXACT_DESTINATION

The exact URL entered above

Indicates that the value provided for the destination should be considered an absolute target location.

CHILD_ONLY

A directory below this one

Alerts IIS that redirection should occur only once because the destination is in a subdirectory of the original URL. This flag avoids loops. Also, this flag instructs IIS to redirect requests only if they are to subfolders or files of the original URL.

PERMANENT

A permanent redirection for this resource

Indicates that this redirection is permanent for this resource.

TEMPORARY

Clear the A permanent redirection for this resource check box"

Indicates that this redirection is temporary for this resource.