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:
is configured to be redirected to the following exact URL:
A new request for the following URL:
Would be redirected automatically to the following URL:
|
$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:
is configured to be redirected to the following URL:
A new request for the following URL:
Would be redirected automatically to the following URL:
|
$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:
is configured to be redirected to the following exact URL:
A new request for the following URL:
Would be redirected automatically to the following URL:
|
$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:
is configured to be redirected to the following exact URL:
A new request for the following URL:
Would be redirected automatically to the following URL:
|
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:
is configured with the following redirection string:
A new request for the following URLs:
Would be redirected automatically to the following respective URLs:
|
! |
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:
is configured to be redirected, but the following Web site:
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. |
Related Information
For information about how to use IIS Manager to configure URL redirection, see Redirecting Requests to Files, Directories, or Programs.
For information about how to use the URL Rewrite module to configure URL redirection in IIS 7, see Using the URL Rewrite Module.