重定向客户端请求是确保用户得到正确页面的一种方法,它适用于站点正在建设之中或已改变标识的情况。您可以将客户端请求重定向到同一 Web 服务器上的某个目录,或者重定向到另一个 URL。
可以使用重定向变量将初始 URL 中相关的部分传递给目标 URL。要使用这些变量,请在 IIS 管理器中打开某个目录的属性,然后选择“主目录”、“虚拟目录”或“目录”选项卡,单击“重定向到 URL”选项,然后在“重定向到”文本框中键入一个 URL,可使用下面的任意变量。
变量 | 描述 | 示例 |
---|---|---|
$S | 传送与所请求 URL 的相匹配的后缀。匹配后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。 | 如果 /Scripts 重定向到 /Newscripts,而原来请求的是 /Scripts/Program.exe,那么 /Program.exe 便是后缀。服务器自动执行后缀替换,$S 变量只能与其他变量结合使用。 |
$P | 传送初始 URL 中的参数。 | 例如,如果原来的 URL 是 /Scripts/Myscript.asp?number=1,那么字符串“number=1”映射到目标 URL。 |
$Q | 传递来自初始 URL 的问号 (?) 和参数。 | 例如,如果原来的 URL 是 /Scripts/Myscript.asp?number=1,那么字符串“?number=1”映射到目标 URL。 |
$V | 传送请求的 URL,不包括服务器名。 | 例如,如果原来的 URL 是 //Myserver/Scripts/Myscript.asp,那么字符串“/Scripts/Myscript.asp”将映射到目标 URL。 |
$0 -$9 | 传递被请求的 URL 中与指定的通配符相匹配的部分。 | 例如,如果在最低级别的目录名中使用了通配符,比如 */Default.htm,那么传递 URL 中命名包含“Default.htm”的目录的部分。 |
! | 不重定向。 | 使用此变量可防止对已重定向的虚拟目录中的子目录或单个文件进行重定向。 |
可以使用重定向通配符匹配原来 URL 中的任意数目的字符。在 IIS 管理器中打开目录的属性表单,选择“主目录”、“虚拟目录”或“目录”选项卡,单击“重定向到 URL”选项,然后在“重定向到”文本框中插入通配符 (*)。目标 URL 以星号 (*) 和分号 (;) 开头,成对的通配符和目标 URL 之间用分号分隔。
例如,要将所有对 /Scripts/Filename.stm 的请求重定向到名为 Default.stm 的文件,并将所有对 /Scripts/Filename.htm 的请求重定向到 Default.htm 文件,请在“重定向到”文本框中为 /scripts 虚拟目录键入:
*;Filename.stm;/Default.stm;Filename.htm;/Default.htm
当使用通配符时,确保选择了“上面输入的准确 URL”复选框。对于重定向路径,在 URL 中键入。