IIS 重定向详解

 重定向是确保用户始终收到他们所需网页的一种方式。重定向是指将 Web 服务器配置为向客户端发出重定向消息(例如 HTTP 302),以指示客户端重新提交新位置请求的过程。我们可以将用户重定向到其他文件、目录或站点。

  重定向在下列情况中十分有用:

  - 更改了网站的位置并希望将用户重定向到新的站点。

  - 网站正在建设中,因而希望将站点的部分功能设置为不可用。

  - 内容未放在 Web 服务器上。

  - 更改了虚拟目录的名称,并希望用户能够使用原来的 URL 访问其中的文件。

  (一)配置 Web 服务器以将请求重定向到相对目标

  如果要将客户端重定向到文件、目录或站点,就需要启用重定向并配置目标。如果你的站点正在建设中或更改了标识,此配置将十分有用。

  您配置的目标是相对目标。例如,如果将重定向目标配置为 http://www.contoso.com/sales,且传入的请求是 http://www.contoso.com/marketing/default.aspx,IIS 便会将该请求重定向到 http://www.contoso.com/sales/default.aspx

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"HTTP 重定向"。

  3.  在"HTTP 重定向"页上,选择"将请求重定向到此目标"。在相应的框中,键入要将用户重定向到的文件名、目录路径或 URL。

  4.  在"操作"窗格中,单击"应用"。


  (二)配置 Web 服务器以将请求重定向到确切的目标

  果要更改默认的重定向行为,可以将重定向目标配置为确切的目标。在将目标配置为确切的目标时,所有传入请求都将被重定向到该确切的目标而不是相对目标。如果要将所有请求都重定向到同一个网页(例如在关闭站点进行维护或站点建设期间),这种配置将十分有用。

  1.  打开 IIS 管理器,然后导航至您管理的级别。

  2.  在"功能视图"中,双击"HTTP 重定向"。

  3.  在"HTTP 重定向"页的"重定向行为"下,选择"将所有请求重定向到确切的目标(而不是相对于目标)"。

  4.  在"操作"窗格中,单击"应用"。

  (三)将重定向目标限制为目标目录中的内容

  启用重定向时,默认情况下将从指定为目标的内容目录及其所有子目录中提供请求的内容。例如,如果将重定向目标配置为 http://www.contoso.com/sales,则可能从 /sales 下的目录为请求提供内容。但是,可以限制为只通过指定为目标的内容目录为请求提供内容。

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"HTTP 重定向"。

  3.  在"HTTP 重定向"页的"重定向行为"下,选择"仅将请求重定向到此目录(非子目录)中的内容"。

  4.  在"操作"窗格中,单击"应用"。


  (四)配置重定向状态代码

  通过选择状态代码,可以指定 Web 浏览器在不同位置发出新请求的方式。设置状态代码可以自定义重定向过程。

  .  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"HTTP 重定向"。

  3.  在"HTTP 重定向"页的"重定向行为"下,从"状态代码"列表中选择以下值之一:

  ? "标准(302)"- 指示 Web 客户端向 Location HTTP 头中指定的位置发出新请求。

  ? "永久(301)"- 向 Web 客户端指示请求的资源的位置已发生永久性更改。

  ? "临时(307)"- 指示 Web 客户端重新发送 POST 数据,以防 Web 浏览器在发出 HTTP POST 请求时丢失数据。

  4.  单击"确定"。


重定向参考
重定向客户端请求是确保用户得到正确页面的一种方法,它适用于站点正在建设之中或已改变标识的情况。您可以将客户端请求重定向到同一 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 中键入。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值