IIS8中安装和使用URL重写工具(URL Rewrite)的方法
本文记录了在IIS8下安装和使用URL Rewrite插件的步骤,详细举例说明如何使用URL重写工具实现301重定向的功能。
下载和安装URL Rewrite
IIS8默认是没有安装URL重写工具的,必须要自己下载安装。
如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开IIS(Internet 信息服务管理器),在管理器主页中找到管理项,打开Web平台安装程序,如下图:
在Web平台安装程序中选择产品》服务器,在列表中找到URL重写工具,点击添加后点击安装,即可自动安装好!如下图:
我们也可以手动下载URL Rewrite插件,这是官方地址:URL Rewrite下载
这里有两种方式,一种是下载Web平台安装程序的插件包进行在线安装,点击下载页面中的Install this extension按钮下载urlrewrite2.exe安装程序,双击后会自动运行Web平台安装程序安装URL重写工具2.0。
另外一种方式是下载离线安装包,下载地址在页面靠近底部的Download URL Rewrite Module 2.0区块。不过要选择对应自己网站服务器的版本,比如笔者的服务器是64位,中文简体,就要选择如图所示的版本:
这两种方式都没有什么复杂的步骤,基本一直点击下一步直到完成就可以了。
2015/10/21更新,现在下载链接只有版本的区别,没有语言区别了,语言会根据服务器自动判断:
在IIS上使用URL重写工具的具体步骤
URL Rewrite重写工具主要是使用正则或者通配符进行匹配,对于正则和通配符要有一定的了解,可以网上查下相关的资料,这里建议看官方的帮助文档:URL Rewrite Module Configuration 和 IIS URL 重写模块
首先打开IIS下网站的URL重写功能:
我们右键或者右边的操作菜单栏中选择添加规则,我们可以看到默认有提供很多规则模板,这里我们选择一个空白规则作为添加301重定向的重写演示:
打开编辑入站规则的界面后,我们输入自己定义的名称,选择匹配URL的方式和使用的规则,规则可以选择正则表达式、通配符和完全匹配,这里使用的是正则作为示例。最后在匹配URL模式输入.*(正则表达式,表示匹配所有的路径,这里就是文档中的rule patterns)。
关于这里的规则模式,这里建议看这篇文章:详解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),里面有更加详细的说明。
最后一步就是设置操作,操作类型有五个选项:重写、无、重定向、自定义响应、中止请求。笔者选择的是重定向,然后设置重定向URL,这里的URL是:http://shiyousan.com/{R:0} 。表示所有www.shiyousan.com的URL地址(包括有带参数的地址以及多级目录的地址)都要跳转到shiyousan.com这个顶级域名的URL中。最后重定向类型选择永久301就大功告成了!!!
PS:{R:0}是反向引用,表示与匹配url模式.*的正则全部匹配,也就是rule patterns的匹配规则,具体可以看这篇文章:详解IIS中的URL重写工具下关于操作重定向URL中的{R:N}与{C:N},也可以看官方的文档:Using back-references in rewrite rules
版权声明:本文采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。欢迎转载本文,转载请声明出处或保留此段声明。
相关文章
- 这篇文章主要介绍了使用JavaScript获取URL中的参数(两种方法)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-11-22
- 这篇文章主要介绍了php获取客户端IP及URL的方法,涉及php预定义服务器变量$_SERVER相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2017-02-09
两种方法解决javascript url post 特殊字符转义 + & #
本文主要介绍javascript使用url传值的时候数据丢失的问题,希望对大家有所帮助。...2016-04-16PHP使用http_build_query()构造URL字符串的方法
这篇文章主要介绍了PHP使用http_build_query()构造URL字符串的方法,结合实例形式较为详细的分析了http_build_query函数的功能,使用技巧与相关注意事项,需要的朋友可以参考下...2016-04-07- 这篇文章主要介绍了nginx rewrite重写规则与防盗链配置方法教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-09-28
没有ISAPI Rewrite FULL照样玩多站点伪静态的方法分享
IIS中增加URL Rewrite功能,最多人选用的是名为“ISAPI Rewrite“的软件,网上下载的破解版,其实破解不完善,最终会不能用...2016-01-27详解nginx rewrite和根据url参数location
本篇文章主要是介绍了nginx rewrite和根据url参数location,有兴趣的同学可以了解以下。 ...2016-11-22- 这篇文章主要介绍了nginx重写rewrite基础及实例分享,需要的朋友可以参考下...2016-05-22
- 这篇文章主要介绍了IIS8支持WCF的更简单的方法,大家可以参考使用...2016-01-27
详解Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
本篇文章主要介绍了Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 ...2017-01-22- 这篇文章主要介绍了php获取当前页面完整URL地址的函数,感兴趣的小伙伴们可以参考一下...2016-01-02
- 最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,本文将详细介绍解决方法...2016-01-27
Nginx下支持Thinkphp URL Rewrite的配置示例
这篇文章主要介绍了Nginx下支持Thinkphp URL Rewrite的配置示例,本文直接给出配置示例,需要的朋友可以参考下...2016-01-27- 这篇文章主要介绍了Nginx Rewrite规则与使用介绍和技巧实例,本文讲解了正则表达式匹配、文件及目录匹配、flag标记、Nginx Rewrite相关指令等内容,需要的朋友可以参考下...2016-01-27
- 本功能对服务器环境有特殊要求,独立主机用户需要对 Web 服务器增加相应的 Rewrite 规则,因此需要服务器权限才可使用...2016-01-27
- 这篇文章主要介绍了js获取url传值的方法,实例分析了字符串分割与正则分析两种方法,并补充了一个基于正则匹配实现的js获取url的get传值函数,需要的朋友可以参考下...2015-12-21
- 最近服务器需要防图片别盗链,所以找了很多代码,下面给出具体配置代码...2016-01-27
Symfony2实现在controller中获取url的方法
这篇文章主要介绍了Symfony2实现在controller中获取url的方法,实例分析了Symfony获取URL的常用方法与使用技巧,需要的朋友可以参考下...2016-03-21IIS中使用的ISAPI_Rewrite Full版本做反向代理详解
代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 ...2016-01-27IIS7/IIS7.5 URL 重写 HTTP 重定向到 HTTPS的方法
这篇文章主要介绍了IIS7IIS7.5 URL 重写 HTTP 重定向到 HTTPS的方法,需要的朋友可以参考下...2016-07-04