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

 更新时间:2017年7月6日 23:17  点击:2204

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

设置匹配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重写工具就会容易的多。

[!--infotagslink--]

相关文章

  • php快速url重写更新版[需php 5.30以上

    类只能php教程 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用),增添了一个很重要的功能和属性 可以调用其他url中的模块了 也...2016-11-25
  • 详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)

    rule patterns规则模式在IIS的URL重写模块中,是较为关键的设置。只有规则模式的URL匹配成功时,其他的规则才能起到作用。规则模式的匹配URL设置主要是匹配URL中的路径部分,一般使用正则表达式和通配符对URL路径进行匹配,下面会仔细的说明...2017-07-06
  • IIS支持URL重写指南 推荐

    有很多工具可以实现这个功能,这里介绍的工具的特点是和apache手册中提到的URL重写指南完全兼容。...2016-01-27
  • Global.asax的Application_BeginRequest实现url重写无后缀的代码

    本文为大家详细介绍下利用Global.asax的Application_BeginRequest 实现url重写其无后缀,具体核心代码如下,有需求的朋友可以参考下,希望对大家有所帮助...2021-09-22
  • Apache的URL重写规则的参数说明

    1) R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。 2...2016-01-28
  • iis7.5 URL重写零基础入门介绍

    这篇文章主要介绍了iis7.5 URL重写零基础入门介绍,需要的朋友可以参考下...2017-07-06
  • php快速url重写实例

    php教程 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用),增添了一个很重要的功能和属性 可以调用其他url中的模块了 也使得模块与模...2016-01-28
  • apache url rewrite实现url重写配置详解

    配置步骤: 第一步:找到apache的配置文件httpd.conf(文件在conf目录下) 第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。 打开htt...2016-01-28
  • asp.net不用设置iis实现url重写 类似伪静态路由

    说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用12345.html替换show.aspx?id=12345这样的地址访问功能,支持任意扩展名及无扩展...2021-09-22
  • iis7下url重写后已存在的html不能访问了的解决方法

    本文为大家详细介绍下iis7下url重写后,原本存在的html不能访问了,未能执行URL(asp.net对真正的.html(但不符合重写规的)就不知道如何处理了),遇到类似情况的朋友可以参考下...2016-01-27
  • Asp.Net URL重写的具体实现

    这篇文章主要介绍了Asp.Net URL重写的具体实现,有需要的朋友可以参考一下...2021-09-22
  • Yii2 rbac权限控制之rule教程详解

    这篇文章主要介绍了Yii2 rbac权限控制之rule教程详解的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下...2016-06-24