IIS URL Rewrite(URL 重写)-使用教程
IIS URL Rewrite(URL 重写)-使用教程
URL Rewrite 是微软提供的、用于 IIS 的、免费的 URL 重写、重定向工具,网址:http://www.iis.net/download/URLRewrite。在 IIS 7.5 中,不需要下载了,默认就有,如果没有,请在角色服务中添加。
URL Rewrite 安装后,可在 IIS 中配置,也可以直接在 web.config 中写。本文介绍如何在 IIS 中配置,要 web.config 中手写的话,可参照 IIS 配置后生成的 web.config 来学习。
本文通过配置一个重定向的规则来抛砖引玉。
进入
打开 IIS,选择某个站点,进入 URL Rewrite 功能模块,单击右边操作面板的“Add Rule(s)”,选择 Inbound rules 中的 Blank rule。
Match URL
Match URL 用处不大,为什么呢?因为它实际上是匹配 URL 的 主机名后面那个 / 的后面部分(不包含 /),比如 c/123.htm。

我们一般如上图配置。Requested URL 选择 Matchs the Pattern,即符合模式的进入后面的判断;Using 选择 Wildcards,这个比正则表达式简单,用 * 代表任意长度的任意字符;Pattern 一般写 *,即任何 URL 都进入判断。
Conditions
这个才是重点,它的条件非常丰富,不仅是 URL,还有很多条件可以选择,比如客户端 IP。

如上图:我这里写了 Input 是 {HTTP_POST},这个搞个 Web 开发的就很清楚,表示主机;Type 选择 Matches the Pattern;Pattern 是 www.cftea.com,也就是说当访问的主机(域名)是 www.cftea.com 时。左上角 Match All 表示要符合列表中的所有条件才行,Match Any 表示只要符合列表中的任何一个条件就行。
这里还有一个比较有用的变量 {URL},表示除开主机名的那部分,比如 /course/csharp/2.aspx,没有前面的 http://www.cftea.com 部分。注意这是个坑:前面的 URL 不以 / 开头,这里又以 / 开头。
Server Variables

这个功能就更强了,同样,搞过 Web 开发的都知道 Server Variables,像获取客户端 IP、User Agent 这些,都可以在这里用。这里就不作介绍了。
Action
前面介绍的都是条件,这里是要真正动作了,就是符合条件了要做什么。
Action Type 选项有很多,最常用的应该是 Rewrite 和 Redirect 吧,Rewrite 就是我们平时所说伪静态,Redirect 就是重新定位到另一 URL。

如上,{REQUEST_URI} 是原始 URL 中主机名后面的部分,包含 /。我这里只是演示,所以从图上看,实际上我是定位到当前 URL,都是 www.cftea.com 为主机名。如果用了 * 或正则表达式,还可用变量,比如 {C:1} 表示 Condition 中第二个匹配项。Redirect Type 请参见 301、302、303、307,用哪个? 。
IIS URL Rewrite(URL 重写)-使用教程的更多相关文章
- win10 IIS 10.0 无法安装 URL Rewrite Module 重写模块
打开注册表 win+R 输入 regidit在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp位置 修改注册表 把MajorVersion的值改为9 安装 ...
- php 伪静态 (url rewrite mod_rewrite 重写)
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法!对初学者很有用的哦!1.检测Apache是否支持mod_rewrite通过php提供的php ...
- IIS URL Rewrite – Installation and Use
IIS URL Rewrite – Installation and Use Posted by Nick LeFevre | Leave a reply IIS URL Rewrite Instal ...
- IIS:URL Rewrite实现vue的地址重写
vue-router 全局配置 const router = new VueRouter({ mode: 'history', routes: [...] }) URL Rewrite 1.添加规则 ...
- 在IIS 中如何配置URL Rewrite,并且利用出站规则保持被重写的Cookie的域
Url Rewrite配置 xx.aa.com/bb/test1.aspx 会重写到 bb.aa.com/test1.aspx 具体怎么配置入站 出站规则 结果:
- 使用微软 URL Rewrite Module 开启IIS伪静态
原文 使用微软 URL Rewrite Module 开启IIS伪静态 在IIS5和IIS6时代,我们使用URL REWRITING可实现URL重写,使得WEB程序实现伪静态,但默认情况下只能实现.A ...
- 在ASP.NET MVC中使用IIS级别的URL Rewrite
原文 在ASP.NET MVC中使用IIS级别的URL Rewrite 大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2.3.4),把ASP.NET平台上进行URL Rewrit ...
- windows服务器下IIS7 安装URL Rewrite(URL重写)模块
URL Rewrite Module是一个基于规则的URL重写引擎,用于在URL被Web服务器处理之前改变请求的URL.对于动态Web应用程序,它可以为用户和seo/seo.html" ta ...
- Url Rewrite 再说Url 重写
前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL>, URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...
随机推荐
- c# 异常:值不能为 null。 参数名: source
异常详细信息: System.ArgumentNullException: 值不能为 null.参数名: source 其实问题那就出在 Select() 方法,在 Select 上按 F12 查看定 ...
- Etcd Learning Notes
官网:https://etcd.io 官方项目地址:https://github.com/etcd-io/etcd 参考资料: https://www.hi-linux.com/posts/40915 ...
- 在tomcat上部署项目
1.部署项目的第一种方法(项目直接放入 webapps 目录中) 2.部署项目的第二种方法(修改 conf/server.xml 文件 ) 3.部署项目的第三种方法(apache-tomcat-7.0 ...
- 洛谷P1734 最大约数和(01背包)
题目描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大. 输入格式 输入一个正整数S. 输出格式 输出最大的约数之和. 输入输出样例 输入 #1 11 输出 #1 9 说 ...
- IIS-代理
http://192.168.11.3:8083/java 访问 http://192.168.11.3:8089 http://192.168.11.3:8083/?id=1 访问http:/ ...
- tensorflow 学习记录
函数变动 tf.train.SummaryWriter 变为 tf.summary.Filewritter 函数功能相同,仅仅是简单的重命名 ``` writer = tf.summary.FileW ...
- 【C语言】判断某一正整数是否为完数
什么是完数? 如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”). 例如,6的因子为1.2.3,而 6=1+2+3,因此6是“完数”. 程序框图:m 问题分析 根据完数的定义,解决本题的 ...
- 使用ssh 初始化git一个空java工程
1:进入git 目录 cd /home/git/repo/ 2:创建一个java工程名 mkdir qft-payment 3:进入工程 cd qft-payment/ 4:初始化空工程 git - ...
- 洛谷 P1464 Function(简单记忆化)
嗯... 让一切从水开始吧... 水过初赛,但愿复赛能够接着水过... 这道题不记忆化会tle,所以用空间换时间,将每次的答案(只有20*20*20个)存下来,如果之前已经求过,就不需要重复求了... ...
- 【代码总结】PHP面向对象之常见的关键字和魔术方法
一.关键字的使用 1.final关键字 只能用来修饰类 和 成员方法 不能修饰成员属性 被final修饰的类不能被继承 用final修饰的成员方法 不能被子类覆盖(重写) <?php // f ...