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 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...
随机推荐
- 解决MinGW运行时提示丢失libgmp-10.dll
如何解决刚安装的MinGW提示"丢失xxx.dll" 解决方案: 1.配置环境变量,出现这种问题的主要原因是因为没配置环境变量,网上的大多数解决方案也是基于这个的. 2.安装包损坏 ...
- Validation failed for one or more entities. See ‘EntityValidationErrors
try{ context.SaveChanges(); } catch (DbEntityValidationException ex) { var errorMessages = ex.Entity ...
- 每个Java开发人员都应该知道的4个Spring注解
这是每个Java开发人员都应该知道的最重要的Spring注解.感谢优锐课老师对本文提供的一些帮助. 随着越来越多的功能被打包到单个应用程序或一组应用程序中,现代应用程序的复杂性从未停止增长.尽管这种增 ...
- 一周搞定模拟电路P3_电容_记录
1 电容的介绍 什么是电容 它有两个电极板,和中间板所夹的介质封装而成,具有特定功能的电子器件. 电容的作用 旁路.去耦.滤波和储能的作用 2 旁路电容的作用 1)使输入电压均匀化,减少噪声对后级的影 ...
- QM[中控群控云控]01. 中控原理
QM[中控群控云控]01. 中控原理 虽然自己对于中控有了解 也自己做过一些简单中控 不过看看紫猫老师的思路 应该有很多帮助和提高 中控核心:数据交流而已 脚本端和服务端之间的信息交换 ------个 ...
- 【C语言】输入一个正整数,判断其是否为素数
素数的定义: 素数(prime number)又称质数,有无限个. 素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为素数.代码1: #include<stdio.h& ...
- mysql错误问题处理
问题1.mysql 黑窗口出现错误 无法启动此应用程序 ,计算机中丢失MSVCP120.DLL,请重新安装 因为是从虚拟机上安装的新的系统,所以dos窗口输入mysql -v的时候出现了上述的错误,之 ...
- Booth算法: 补码一位乘法公式推导与解析
以下讲解内容出自<计算机组成原理(第三版)>(清华大学出版社) 大二学生一只,我的计组老师比较划水,不讲公式推导,所以最近自己研究了下Booth算法的公式推导,希望能让同样在研究Booth ...
- 解决IE8不兼容 background-size
IE8下,使用background-size适应盒子大小时不兼容,效果如下图: 网上找资料,说添加如下代码可以兼容IE8 filter: progid:DXImageTransform.Microso ...
- linux下的apache服务自启动的几种方式
1,如果是安装包安装在Linux系统下,那么可以使用 [root@localhost ~]# service httpd restart 从而可以开启或者重启apache服务 与此同时,它的标准方式是 ...