详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)
rule patterns规则模式在IIS的URL重写模块中,是较为关键的设置。只有规则模式的URL匹配成功时,其他的规则才能起到作用。规则模式的匹配URL设置主要是匹配URL中的路径部分,一般使用正则表达式和通配符对URL路径进行匹配,下面会仔细的说明。
首先要了解规则模式是匹配URL中的哪一部分,假设当前有网站的URL地址为http://shiyousan.com/Home/Index?page=1,那么规则模式匹配的部分就是Home/Index,域名的主机部分和参数部分如果要匹配,则需要在规则条件(Rule conditions)那设置,并且要使用到服务器变量,具体可以查看这篇文章:详解IIS中URL重写工具的规则条件(Rule conditions)
官方相关文档:Rule Pattern
PS:这里非常重要,一定要注意匹配URL的只是路径部分,是不包含主机域名部分!
下面说明如何设置匹配URL规则的各个属性:
如上图所示,匹配方式我们可以选择与模式匹配,与模式不匹配这两种。从字面上很容易理解这两个选项的意思,主要还是根据下面的匹配语法和模式相关联。
接下来选择要使用的匹配语法,一共有三种:正则表达式,通配符,完全匹配,这里我们选择的是使用正则表达式。
最后设置匹配规则模式的语法,这里我设置的正则表达式是 ^(.*?)/Home/(Index)$ 。点击右边的测试模式,我们可以测试正则匹配的是否正确,输入URL:http://shiyousan.com/Home/Index,最终正确的显示匹配,如下图所示:
我们使用正则一共可以捕获到3组反向引用的内容,具体关于{R:0}/{R:1}/{R:2}和向后引用/反向引用,可以看这篇文章:详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}。
到这里就对rule patterns进行了全部的说明,以后在IIS上使用URL重写工具就会容易的多。
相关推荐
-
详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)
rule patterns规则模式在IIS的URL重写模块中,是较为关键的设置.只有规则模式的URL匹配成功时,其他的规则才能起到作用.规则模式的匹配URL设置主要是匹配URL中的路径部分,一般使用正则表达式和通配符对URL路径进行匹配,下面会仔细的说明. 首先要了解规则模式是匹配URL中的哪一部分,假设当前有网站的URL地址为http://shiyousan.com/Home/Index?page=1,那么规则模式匹配的部分就是Home/Index,域名的主机部分和参数部分如果要匹配,则需要在
-
详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}使用介绍
URL Rewrite(URL重写工具)作为IIS下较为常用的模块组件, 提供了重写.重定向.自定义响应.中止请求等功能.但是其相关的中文资料比较缺少,官方倒是有完整和详细的英文文档,之前我在项目中遇到需要设置重写/重定向URL操作规则时,对于范例中的{R:N}和{C:N}规则就理解的十分辛苦,因此写下本文分享下经验. 这里先附上官网的文档,其实文档链接在IIS的URL重写模块的右边菜单就有:URL Rewrite Module Configuration Reference(URL重写模块配置
-
详解JAVA中使用FTPClient工具类上传下载
详解JAVA中使用FTPClient工具类上传下载 在Java程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件.本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件. 1.写一个javabean文件,描述ftp上传或下载的信息 实例代码: public class FtpUseBean { private String host; private Integer port; private String us
-
详解Java中方法重写和方法重载的6个区别
目录 1.方法重写 1.1 基本用法 1.2 使用场景 1.3 注意事项 2.方法重载 2.1 基本使用 2.2 使用场景 2.3 注意事项 3.方法重写 VS 方法重载 总结 方法重写(Override)和方法重载(Overload)都是面向对象编程中,多态特性的不同体现,但二者本身并无关联,它们的区别犹如马德华之于刘德华的区别,除了名字长得像之外,其他的都不像. 接下来咱们就来扒一下二者的具体区别. 1.方法重写 方法重写(Override)是一种语言特性,它是多态的具体表现,它允许子类重新
-
详解IIS中URL重写工具的规则条件(Rule conditions)
本文结合官方文档和相关示例,详细记录了在IIS中URL重写工具下的规则条件(Rule conditions)的相关说明.规则条件允许我们通过额外的逻辑规则来过滤和匹配规则模式( rule pattern ),所以只有当规则模式的URL匹配成功时,Rule conditions才会起作用. 先附上官方文档地址:Rule conditions.下面会详细说明规则中的各种属性和设置. 逻辑分组 逻辑分组只有两个选项,任意匹配和全部匹配.规则条件是由多个条件组成的一个条件集合,所以最终判断需要根据逻辑分
-
详解Python中的测试工具
当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程,比如: unittest: 一个通用的测试框架: doctest: 一个更简单的模块,是为检查文档而设计的,但也非常适合用来编写单元测试. 下面,笔者将会简单介绍这两个模块在测试中的应用. doctest doctest模块会搜索那些看起来像是python交互式会话中的代码片段,然后尝试执行并验证
-
详解Java中方法重写与重载的区别(面试高频问点)
Java中方法重写与重载的区别 重 写 重 载 子类方法对父类方法的覆盖 同一个类中同名方法的重载(同一类包括从父类继承的方法) 方法名相同且参数个数类型顺序相同 参数个数或类型顺序至少满足一点不同 只允许访问权限更宽松 访问权限任意 返回值类型若是基本类型则不允许不同:若是复合类型则在子类与父类间必须至少存在继承关系 返回值类型任意 final修饰的父类,子类不能重写,反之可以 final任意 静态方法与实例方法不能互相重写 任意 构造方法不能被重写 构造方法可以重载,任意 一句话描述清楚:
-
详解Ruby中正则表达式对字符串的匹配和替换操作
正则匹配 说起Ruby当然要提起它的正则表达式机制,正则表达式作为一个强大的匹配语言已经越来越多的使用到不同的领域当中,从字符串验证,匹配,到网页抽取等.虽然有些人诟病与正则表达式的匹配效率,但是考虑到正则的强大匹配能力也就无所谓了. 说起Ruby正则表达式不就不能不说起Ruby的=~和match两种匹配方式,我们还是用实例来说明一下这两种匹配方式的区别吧.先来说一说=~的用法吧: message="afhadhffkdf414j" regex=/[a-z](\d{3})[a-z]/
-
IIS8中安装和使用URL重写工具(URL Rewrite)的方法
本文记录了在IIS8下安装和使用URL Rewrite插件的步骤,详细举例说明如何使用URL重写工具实现301重定向的功能. 下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开IIS(Internet 信息服务管理器),在管理器主页中找到管理项,打开Web平台安装程序,如下图: 在Web平台安装程序中选择产品>服务器,在列表中找到URL重写工具,点击
-
详解Idea中HTTP Client请求测试工具的使用
前言: 以前在本地测试一些接口,我都是使用postman,偶然发了Idea自带的请求测试工具HTTP Client,我就开始使用HTTP Client了,但是在某些下载流类接口的测试中,还是要使用postman,但是普通的接口HTTP Client已经足够满足的需求. 正文: 使用HTTP Client的Idea版本最好在2018以上,不然体验感不是很好.下面,我将介绍一下,这个怎么使用. 1.使用入口: 方式一:在Controller类中,方法旁边有一个小三角,如果不要携带任何参数,就可以直接
随机推荐
- AR系列路由器包过滤控制访问列表的配置方法
- 浅谈Java变量的初始化顺序详解
- windows中oracle 11g安装图解
- React-router v4 路由配置方法小结
- showModalDialog模态对话框的使用详解以及浏览器兼容
- 在JSP中如何实现MD5加密的方法
- 判断输入是否为空,获得输入类型的JS代码
- Python的Django框架中TEMPLATES项的设置教程
- Android控件RadioButton实现多选一功能
- 最准确的php截取字符串长度函数
- XSS 0DAY代码
- 张剑光 的大学四年,留给学弟学妹 转载
- Javascript typeof 用法
- JavaScript 原型学习总结
- javascript asp教程创建数据库连接
- javascript判断图片是否加载完成的方法推荐
- 一个读写csv文件的C#类
- 详解JDBC使用
- python中threading超线程用法实例分析
- js固定DIV高度,超出部分自动添加滚动条的简单方法