逐浪云主机

立即开通

IIS 重定向详解(IIS中永久重定向的使用(包括参数设置)-301 )

作者:本站编辑 发布时间:2017-12-15 来源:佚名 点击数:

首先,解释下什么是资源的永久重定向,通俗简单理解下,当你在浏览器中输入sina.com.cn(新浪首页)的时候,网址是不是变成www.sina.com.cn了?再说一些163.com、qq.com都会变成www.xxx.com等的样式,使用的就是资源的永久重定向,只不过他们使用的不是IIS。这里只来说说IIS中使用永久重定向的参数的方法。下面将说下IIS6.0中使用重定向的方法。 
前提假设,为了简化输入这里假设两个网址:AA-代表aa.com,BB-代表www.aa.com 
一、如何设置重定向的方法? 
1.打开IIS管理器; 
2.展开“网站”,然后选择一个网站,右键点击选择“属性”,然后点击“主目录”选项卡; 
3.在“主目录”选项卡中你会看到“此资源的内容来自:”然后下面是3个选项,分别是: 
“此计算机上的目录(D)”; 
“另一台计算机上的共享(S)”; 
“重定向到URL(U)” 
4.选择“重定向到URL(U)”,下面的选项会跟着变化 
会出现“重定向到(C):”的输入框,这里就是要输入资源重定向网址的地方。 
二、举例子说明重定向的方法 
1.目标:将AA重定向到BB 
2.方法:在IIS中分别设置AA和BB的主机头,按照“一”中说明的方法将AA里“重定向到URL(U)”里面输入BB的网址就,然后选择上“上面输入的准确URL”和“资源的永久重定向”(最好选择上,不然搜索引擎会以为你在作弊,HTTP返回值也会被正确响应为301了),这样可以完成AA重定向到BB。 
3.测试:在浏览器中输入AA,看下是不是变成BB了? 
三、带参数的AA如何重定向到BB 
如果按照“二”中的方法测试http://aa.com/view.asp?id=1&host=www.by84.com这个网址的时候,浏览器会访问www.aa.com,后面的参数是不会重定向的,那么如何带参数重定向?继续往下看吧 
1.目标:将http://aa.com/view.asp?id=1&host=www.by84.com重定向到http://www.aa.com/view.asp?id=1&host=www.by84.com
2.方法:这个时候要在“重定向到URL(U)”里面输入参数了,输入的参数在本文结尾归纳,在输入框里面输入http://www.aa.com$S$Q 
3.测试:这个时候再次输入http://aa.com/view.asp?id=1&host=www.by84.com的时候看看是不是正确的被重定向到http://www.aa.com/view.asp?id=1&host=www.by84.com了? 
四、重定向的参数 
$S-将请求的 URL 的后缀传递给新的 URL。后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
$P-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。
$Q-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。
$V-传递请求的 URL,不包括服务器名和任何参数。要包含参数,可使用 $P 或 $Q 变量及 $V 变量。如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
参数还有很多,基本上最常用的就是$S和$Q,任意网址想要实现301的永久重定向只需设置$S和$Q就可以了。
 




重定向是确保用户始终收到他们所需网页的一种方式。重定向是指将 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.jpg

本文责任编辑: 加入会员收藏夹 点此参与评论>>
复制本网址-发给QQ/微信上的朋友