IIS URL Rewrite(URL 重写)-使用教程

作者:vkvi 来源:千一网络(原创) 日期:2011-8-17
 http://www.cftea.com/c/2011/08/9CRXOLMM2EL0F1PO.asp

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 重写)-使用教程的更多相关文章

  1. win10 IIS 10.0 无法安装 URL Rewrite Module 重写模块

      打开注册表 win+R 输入 regidit在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp位置 修改注册表 把MajorVersion的值改为9 安装 ...

  2. php 伪静态 (url rewrite mod_rewrite 重写)

    mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法!对初学者很有用的哦!1.检测Apache是否支持mod_rewrite通过php提供的php ...

  3. IIS URL Rewrite – Installation and Use

    IIS URL Rewrite – Installation and Use Posted by Nick LeFevre | Leave a reply IIS URL Rewrite Instal ...

  4. IIS:URL Rewrite实现vue的地址重写

    vue-router 全局配置 const router = new VueRouter({ mode: 'history', routes: [...] }) URL Rewrite 1.添加规则 ...

  5. 在IIS 中如何配置URL Rewrite,并且利用出站规则保持被重写的Cookie的域

    Url Rewrite配置 xx.aa.com/bb/test1.aspx 会重写到 bb.aa.com/test1.aspx 具体怎么配置入站 出站规则 结果:

  6. 使用微软 URL Rewrite Module 开启IIS伪静态

    原文 使用微软 URL Rewrite Module 开启IIS伪静态 在IIS5和IIS6时代,我们使用URL REWRITING可实现URL重写,使得WEB程序实现伪静态,但默认情况下只能实现.A ...

  7. 在ASP.NET MVC中使用IIS级别的URL Rewrite

    原文 在ASP.NET MVC中使用IIS级别的URL Rewrite 大约一年半前,我在博客上写过一系列关于URL Rewrite的文章(2.3.4),把ASP.NET平台上进行URL Rewrit ...

  8. windows服务器下IIS7 安装URL Rewrite(URL重写)模块

    URL Rewrite Module是一个基于规则的URL重写引擎,用于在URL被Web服务器处理之前改变请求的URL.对于动态Web应用程序,它可以为用户和seo/seo.html" ta ...

  9. Url Rewrite 再说Url 重写

    前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL>, URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...

随机推荐

  1. phpinfo(): It is not safe to rely on the system's timezone settings

    PHP调试的时候出现了警告: 问题: Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You ...

  2. 会话技术之Cookie

    在无状态的客户端(未登录)下,张三想买手机然后把手机加入购物车,服务器发出添加成功的响应,然后把手机加入ServletContext域里,然后张三想在逛逛别的, 再无状态的客户端(未登录)下,李四想买 ...

  3. NOIP-- 模拟-----机器

    机器翻译 题目描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...

  4. python 解析json格式

    对于网页爬取结果为json格式的,可以直接使用python的json库解析,获取相应字段的值,比用正则匹配更简单规范. import json…… resp=requests.post(url,hea ...

  5. Tomcat笔试题!

    1.企业常见的中间件产品有哪些? 商业:nginx企业版,jobss开源:nginx社区版,tomcat,apache 2.Tomcat软件早期名字及其主要作用? Tomcat的前身为Catalina ...

  6. emoji web端处理

    1.发送给服务器端的信息,因为图片是选择的在web端只提供了50个表情选择,所以将 #哈哈# ,凡是#  #包裹的内容转化成对应的unicode编码, 比如U+1F603.每一个对应起来,这一点比较麻 ...

  7. java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme t

    异常信息: Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied b ...

  8. 《JavaScript高级程序设计》读书笔记(三)基本概念第四小节 操作符

    内容---语法 上一小节---数据类型 本小节 操作符---流程控制语句---理解函数 操作符--操作数据值的操作符--算术(如加减).位操作符.关系.相等--ECMAScript操作符可以适用于很多 ...

  9. oracle学习笔记(十四) 数据库对象 索引 视图 序列 同义词

    数据库对象 用户模式:指数据库用户所创建和存储数据对象的统称.在访问其它用户模式的数据库对象时需加上用户模式. 如:scott.emp, scott.dept等. 数据库对象包括:表.视图.索引.序列 ...

  10. Bugku-CTF加密篇之ok(Ook!)