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 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...
随机推荐
- 09-Docker-Volumes数据管理
目录 09-Docker-Volumes数据管理 参考 数据卷类型 数据卷操作 bind数据卷 volume数据卷 tmpfs数据卷 09-Docker-Volumes数据管理 Docker Vers ...
- Coursera-吴恩达机器学习课程笔记-Week2
参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week2 一. 多变量线性回归(Linear Regression with Multiple Variables) 多变量就时当一个exa ...
- web开发中的一些不常见的概念
1.惊群 [活跃]星际争霸小王子 就是当你在车站时,一堆拉客的人一拥而上,想你坐他的车,于是就惊群了.但你只能坐一个车,所以没拉到你的就悻悻而归,于是return false[活跃]星际争霸小王 2 ...
- [代码记录] C语言链表
#开始 · 简单的创建链表 #代码 #include<conio.h> #include<stdio.h> #include<stdlib.h> struct St ...
- 获取浏览器url参数
//获取浏览器url参数 var methods ={ getQueryString: function (name) { var reg = new RegExp('(^|&)' + nam ...
- 吴裕雄 PYTHON 神经网络——TENSORFLOW 双隐藏层自编码器设计处理MNIST手写数字数据集并使用TENSORBORD描绘神经网络数据2
import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data os.envi ...
- Centos610安装MVN
1.下载mav安装 下载免安装版上传linux cd /opt/maven mkdir repository cd apche-maven-3.3.9/conf vi settings.xml 设置 ...
- ABC156 F - Modularness
题目链接 题意还是比较清楚的,给你q个询问,对每组询问的模数和初始值不同,求满足条件\(a_j~\textrm{mod}~m_i < a_{j + 1}~\textrm{mod}~m_i,(0 ...
- 【TCP/IP网络编程】:06基于UDP的服务器端/客户端
本篇文章简单描述了UDP传输协议的工作原理及特点. 理解UDP UDP和TCP一样同属于TCP/IP协议栈的第二层,即传输层. UDP套接字的特点 UDP的工作方式类似于传统的信件邮寄过程.寄信前应先 ...
- 【笔记5-购物车及地址模块】从0开始 独立完成企业级Java电商网站开发(服务端)
购物车模块 数据库表设计 购物车表 CREATE TABLE mmall_ cart ( 'id' int(11) NOT NULL AUTO_ INCREMENT, 'user_ id' int(1 ...