欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

程序员文章站 2022-07-09 16:28:19
本文记录了在iis8下安装和使用url rewrite插件的步骤,详细举例说明如何使用url重写工具实现301重定向的功能。 下载和安装url rewrite iis8...

本文记录了在iis8下安装和使用url rewrite插件的步骤,详细举例说明如何使用url重写工具实现301重定向的功能。

下载和安装url rewrite

iis8默认是没有安装url重写工具的,必须要自己下载安装。

如果iis上默认有安装web平台安装程序,我们可以使用平台自动安装url rewrite重写工具,打开iis(internet 信息服务管理器),在管理器主页中找到管理项,打开web平台安装程序,如下图:

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

在web平台安装程序中选择产品》服务器,在列表中找到url重写工具,点击添加后点击安装,即可自动安装好!如下图:

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

我们也可以手动下载url rewrite插件,这是官方地址:url rewrite下载

这里有两种方式,一种是下载web平台安装程序的插件包进行在线安装,点击下载页面中的install this extension按钮下载urlrewrite2.exe安装程序,双击后会自动运行web平台安装程序安装url重写工具2.0。

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

另外一种方式是下载离线安装包,下载地址在页面靠近底部的download url rewrite module 2.0区块。不过要选择对应自己网站服务器的版本,比如笔者的服务器是64位,中文简体,就要选择如图所示的版本:

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

这两种方式都没有什么复杂的步骤,基本一直点击下一步直到完成就可以了。


2015/10/21更新,现在下载链接只有版本的区别,没有语言区别了,语言会根据服务器自动判断:

IIS8中安装和使用URL重写工具(URL Rewrite)的方法


在iis上使用url重写工具的具体步骤

url rewrite重写工具主要是使用正则或者通配符进行匹配,对于正则和通配符要有一定的了解,可以网上查下相关的资料,这里建议看官方的帮助文档:url rewrite module configuration 和 iis url 重写模块

首先打开iis下网站的url重写功能:

IIS8中安装和使用URL重写工具(URL Rewrite)的方法


我们右键或者右边的操作菜单栏中选择添加规则,我们可以看到默认有提供很多规则模板,这里我们选择一个空白规则作为添加301重定向的重写演示:

IIS8中安装和使用URL重写工具(URL Rewrite)的方法


打开编辑入站规则的界面后,我们输入自己定义的名称,选择匹配url的方式和使用的规则,规则可以选择正则表达式、通配符和完全匹配,这里使用的是正则作为示例。最后在匹配url模式输入.*(正则表达式,表示匹配所有的路径,这里就是文档中的rule patterns)。

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

关于这里的规则模式,这里建议看这篇文章:详解iis中url重写工具的匹配url-规则模式(rule patterns)


接下来添加url过滤条件,逻辑分组那根据自己的需求选择,比如笔者是打算做全站301跳转,所以这里用任意匹配。点击添加按钮,设置输入为{http_host} ,类型为与模式匹配,模式为^www.shiyousan.com$, 由于之前选择了使用正则作为匹配规则,所以这里要注意使用正确匹配规则。这里主要是设置匹配所有带www的二级域名路径,无论是否有带参数或者目录全部都会匹配到,等于二级域名全站匹配进行重定向跳转。

ps:

服务器变量如果没有就放空不设置。{http_host}服务器变量类型,表示所请求的主机,是规则条件输入的值。如果选择的类型为与模式匹配,一般常用有query_string、http_host、server_port、server_port_secure、request_uri等服务变量,建议看这篇文章:详解iis中url重写工具的规则条件(rule conditions),里面有更加详细的说明。

IIS8中安装和使用URL重写工具(URL Rewrite)的方法


最后一步就是设置操作,操作类型有五个选项:重写、无、重定向、自定义响应、中止请求。笔者选择的是重定向,然后设置重定向url,这里的url是:http://shiyousan.com/{r:0} 。表示所有www.shiyousan.com的url地址(包括有带参数的地址以及多级目录的地址)都要跳转到shiyousan.com这个*域名的url中。最后重定向类型选择永久301就大功告成了!!!

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

ps:{r:0}是反向引用,表示与匹配url模式.*的正则全部匹配,也就是rule patterns的匹配规则,具体可以看这篇文章:详解iis中的url重写工具下关于操作重定向url中的{r:n}与{c:n},也可以看官方的文档:using back-references in rewrite rules

IIS8中安装和使用URL重写工具(URL Rewrite)的方法

版权声明:本文采用进行许可。欢迎转载本文,转载请声明出处或保留此段声明。