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

详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)

程序员文章站 2022-04-06 21:19:40
rule patterns规则模式在iis的url重写模块中,是较为关键的设置。只有规则模式的url匹配成功时,其他的规则才能起到作用。规则模式的匹配url设置主要是匹配u...

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规则的各个属性:

详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)

如上图所示,匹配方式我们可以选择与模式匹配与模式不匹配这两种。从字面上很容易理解这两个选项的意思,主要还是根据下面的匹配语法和模式相关联。

接下来选择要使用的匹配语法,一共有三种:正则表达式,通配符,完全匹配,这里我们选择的是使用正则表达式。

最后设置匹配规则模式的语法,这里我设置的正则表达式是 ^(.*?)/home/(index)$ 。点击右边的测试模式,我们可以测试正则匹配的是否正确,输入url:http://shiyousan.com/home/index,最终正确的显示匹配,如下图所示:

详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)

我们使用正则一共可以捕获到3组反向引用的内容,具体关于{r:0}/{r:1}/{r:2}和向后引用/反向引用,可以看这篇文章:详解iis中的重写工具下关于操作重定向url中的{r:n}与{c:n}

到这里就对rule patterns进行了全部的说明,以后在iis上使用url重写工具就会容易的多。