下载和安装URL Rewrite

IIS8默认是没有安装URL重写工具的,必须要自己下载安装。

如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开IIS(Internet 信息服务管理器),在管理器主页中找到管理项,打开Web平台安装程序,如下图:

在Web平台安装程序中选择产品》服务器,在列表中找到URL重写工具,点击添加后点击安装,即可自动安装好!如下图:

我们也可以手动下载URL Rewrite插件,这是官方地址:URL Rewrite下载

这里有两种方式,一种是下载Web平台安装程序的插件包进行在线安装,点击下载页面中的Install this extension按钮下载urlrewrite2.exe安装程序,双击后会自动运行Web平台安装程序安装URL重写工具2.0。

另外一种方式是下载离线安装包,下载地址在页面靠近底部的Download URL Rewrite Module 2.0区块。不过要选择对应自己网站服务器的版本,比如笔者的服务器是64位,中文简体,就要选择如图所示的版本:

这两种方式都没有什么复杂的步骤,基本一直点击下一步直到完成就可以了。


2015/10/21更新,现在下载链接只有版本的区别,没有语言区别了,语言会根据服务器自动判断:


在IIS上使用URL重写工具的具体步骤

URL Rewrite重写工具主要是使用正则或者通配符进行匹配,对于正则和通配符要有一定的了解,可以网上查下相关的资料,这里建议看官方的帮助文档:URL Rewrite Module Configuration 和 IIS URL 重写模块

首先打开IIS下网站的URL重写功能:


我们右键或者右边的操作菜单栏中选择添加规则,我们可以看到默认有提供很多规则模板,这里我们选择一个空白规则作为添加301重定向的重写演示:


打开编辑入站规则的界面后,我们输入自己定义的名称,选择匹配URL的方式和使用的规则,规则可以选择正则表达式、通配符和完全匹配,这里使用的是正则作为示例。最后在匹配URL模式输入.*(正则表达式,表示匹配所有的路径,这里就是文档中的rule patterns)。

关于这里的规则模式,这里建议看这篇文章:详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)


接下来添加URL过滤条件,逻辑分组那根据自己的需求选择,比如笔者是打算做全站301跳转,所以这里用任意匹配。点击添加按钮,设置输入为{HTTP_HOST} ,类型为与模式匹配,模式为^www.shiyousan.com$, 由于之前选择了使用正则作为匹配规则,所以这里要注意使用正确匹配规则。这里主要是设置匹配所有带www的二级域名路径,无论是否有带参数或者目录全部都会匹配到,等于二级域名全站匹配进行重定向跳转。

PS:

  1. 服务器变量如果没有就放空不设置。
  2. {HTTP_HOST}服务器变量类型,表示所请求的主机,是规则条件输入的值。如果选择的类型为与模式匹配,一般常用有QUERY_STRING、HTTP_HOST、SERVER_PORT、SERVER_PORT_SECURE、REQUEST_URI等服务变量,建议看这篇文章:详解IIS中URL重写工具的规则条件(Rule conditions),里面有更加详细的说明。


最后一步就是设置操作,操作类型有五个选项:重写、无、重定向、自定义响应、中止请求。笔者选择的是重定向,然后设置重定向URL,这里的URL是:http://shiyousan.com/{R:0} 。表示所有www.shiyousan.com的URL地址(包括有带参数的地址以及多级目录的地址)都要跳转到shiyousan.com这个顶级域名的URL中。最后重定向类型选择永久301就大功告成了!!!

PS:{R:0}是反向引用,表示与匹配url模式.*的正则全部匹配,也就是rule patterns的匹配规则,具体可以看这篇文章:详解IIS中的URL重写工具下关于操作重定向URL中的{R:N}与{C:N},也可以看官方的文档:Using back-references in rewrite rules

IIS8如何安装和使用URL重写工具-URL Rewrite的更多相关文章

  1. IIS-详解IIS中URL重写工具的规则条件(Rule conditions)

    出处:https://shiyousan.com/post/635654920639643421 本文结合官方文档和相关示例,详细记录了在IIS中URL重写工具下的规则条件(Rule conditio ...

  2. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

  3. URL重写与URL路由

    要介绍这两个内容,必须要从ASP.NET管线说起. ASP.NET管线 管线(Pipeline)这个词形象地说明了每个Asp.net请求的处理过程: 请求是在一个管道中,要经过一系列的过程点,这些过程 ...

  4. URL重写IIS7(URL Rewrite Module) 比之前的urlrewrite更方便使用

    原文发布时间为:2011-02-24 -- 来源于本人的百度文章 [由搬家工具导入] 微软在IIS7中添加了URL的重写模块,并且免费使用,可以导入.htaccess规则,确实是个不错的选择 URL ...

  5. IIS部署vue项目页面刷新404,url重写问题解决办法

    这里需要用到URL重写工具 --URL Rewrite(默认没有,需要自己下载安装) 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开IIS在管理 ...

  6. IIS 无法安装URL重写模块的解决办法 UrlReWrite (.NET`SQL技术交流 群号206656202)

    下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开I ...

  7. Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...

  8. Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统 ...

  9. Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解

    大纲 一.前言 二.环境准备 三.安装与配置Nginx  (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡  (负载均衡算法:nginx负载算法 up ...

随机推荐

  1. 线程之 CPthon中的GIL与Lock的分析与解决办法

    Cpython 中的GIL锁介绍 1. 前戏 In CPython, the global interpreter lock, or GIL, is a mutex that prevents mul ...

  2. 为什么要使用叶脊(leaf-spine)拓扑网络?

    三层网络设计的结构发展已经很成熟,但leaf-spine (leaf叶节点,spine脊节点)结构越来越热门,网络设计师们应该如何进行选择呢? 尽管三层网络结构应用广泛而且技术成熟,但随着技术的发展, ...

  3. 第11章 分布式服务跟踪: Spring Cloud Sleuth

    通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果, 在复杂的微服务架构系统中, 几乎每一个前端请求都会形成一条复杂的分布式服务调用链路, 在每条链路中任何一个依 ...

  4. Python与快速排序

    这个算法系列主要是自己学习算法过程中动手实践一下,写这个文章作为笔记和分享个人心得,如有错误请各位提出. 注:转载请说明出处 问题提出: 将以下数据升序排列:5, 2, 8, 6, 4, 9, 7, ...

  5. AJAX跨域调用ASP.NET MVC的问题及解决方案

    AJAX跨域调用ASP.NET MVC的问题及解决方案 问题描述: 解决方法: 只需要在web.config中添加如下标为红色的内容即可: <system.webServer> <h ...

  6. 在线程中调用其它主界面的模块,因为中间有休息1000ms,所以调用前要检查DateTimeRun变量;在From_load 启动线程;在From_closing From_closed 设置DateTimeRun=false

    //系统启动后,自动启动时钟 void jishi_kernel() { try { while (DateTimeRun) { Thread.Sleep(); if (myRunning) Runn ...

  7. leetcode513

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  8. tornado 自定义session (二)

    有了上一步的基础,我们将session改造成一个模块,这样我们就可以通过配置,来使用不同方式(redis,数据库等)的session. 添加一个新目录:TornadoSession conf.py是配 ...

  9. 转 查看linux文件目录的大小和文件夹包含的文件数

    du -sh 文件夹路径 查看linux文件目录的大小和文件夹包含的文件数 统计总数大小 du -sh xmldb/ du -sm * | sort -n //统计当前目录大小 并安大小 排序 du ...

  10. nginx root与alias区别

    引用于文章https://blog.csdn.net/line_aijava/article/details/71473793 root: Sets the root directory for re ...