下载和安装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

本文章转载自http://shiyousan.com/post/635646254870261696

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

  1. 解决关于IIS10.0下无法安装 URL 重写模块 2的问题

    win10 系统自带的IIS是IIS10.0,官网提示URL Rewrite 2.0是只要IIS7.0以上的版本就可以安装,但是在IIS10.0下安装却一直失败.错误提示如下: 那么如何才能正确安装呢 ...

  2. IIS7,IIS7.5 URL重写模块工具

    URL 重写模块 2.0 提供基于规则的重写机制,可在 Web 服务器处理请求的 URL 之前对其进行更改,以及在向 HTTP 客户端提供响应内容之前修改响应内容. 注意:使用环境为IIS7.0(x6 ...

  3. Tortoise-SVN 出现“unable to connect to a repository at url no element found”解决办法

    安装要SVN server服务器后,建立自己的Repositories,创建自己的项目文件夹 如,https://xxxxxxxxxx.com:8443/ 安装Tortoise-svn进行设置目标链接 ...

  4. 360或者金山毒霸可能会导致HP网络打印机驱动安装失败“数据无效”的解决办法

    360或者金山毒霸可能会导致HP网络打印机驱动安装失败“数据无效”的解决办法     同事办公室的打印机是网线接口的那种网络打印机,不是直接连到电脑的那种,他电脑安装了360和金山毒霸,WIN10下安 ...

  5. 树莓派(Raspberry Pi 3)安装centos7后yum无法使用解决办法

    树莓派(Raspberry Pi 3)安装centos7后yum无法使用解决办法 人穷,闲鱼淘了个二手的树莓派3 英国版,无奈咱也不会用,很无奈~ 安装教程百度到的差不多都可以,找个格式正常的一步一步 ...

  6. WIN10安装VC6.0无法使用的解决办法

    WIN10安装VC6.0无法使用的解决办法 VC6.0确实已经太老了 VC6.0实在是很久以前的开发工具了,现在的win10已经对该软件不兼容,但是为了能使抱着怀旧情节的初学者们能像教科书或老前辈们一 ...

  7. IIS 实现http重定向https(亲测有效:解决URL重写模块配置https重定向不生效的问题)

    前言 以前部署网站的时候,都是通过代码来实现http重定向https,最近在部署个人网站的时候,突发奇想可不可通过IIS来实现无代码的重定向呢? 在一番操作猛如虎的搜索引擎操作后,发现只有google ...

  8. IIS上发布站点后URL重写失效的解决方法

    在发布网站时URL重写有可能会失效,如果失效的话就需要您设置一下IIS:1.Windows XP系统或Windows 2003系统等使用以下方法:>打开IIS,主目录-〉配置-〉映射-〉在窗体左 ...

  9. win7 32位 安装opencv-python后,运行时提示 "from .cv2 import *: DLL load failed: 找不到指定的模块" 的解决办法

    安装opencv后,运行一个测试程序提示"from .cv2 import *: DLL load failed: 找不到指定的模块".于是百度一下解决办法,结果试了N多方法后也没 ...

随机推荐

  1. UML图及Visio 2010使用总结

    1. 关于UML9种图的详细介绍: 参考链接A:UML 九种图详解 参考链接B:UML的九种图+包图 2. 深入探究类图: 类图间的关系:泛化 .继承.实现.依赖.关联.聚合.组合: 参考链接A:ht ...

  2. 【云计算】pig基础、运行、编写

    会用和用得好是两个概念. 一.pig基础概念 二.pig运行方式 Pig 有两种运行模式: Local 模式和 MapReduce 模式. 本地模式:$pig-x local test.pig Map ...

  3. jQuery 学习笔记(jQuery: The Return Flight)

    第一课. ajax:$.ajax(url[, settings]) 练习代码: $(document).ready(function() { $("#tour").on(" ...

  4. C# 特性(Attribute)之Flag特性

    本文参考自C# 位域[flags],纯属读书笔记,加深记忆 [Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既 ...

  5. oracle dump的使用心得

    使用DS开发的时候,有的时候会遇到一个问题:数据库层面定义的空格与DS自已定义的空格概念不一致,导致生成的数据会有一定的问题. 举例来说: 在数据库里面定义CHAR(20),如果插入的字符不足20的时 ...

  6. android httpclient 发送 PATCH 请求

    Put 用于全部更新 Patch 用于部分更新 重写一下 HttpPut 或 HttpPost 的 getMethod 方法 /** * Send a patch request */ public ...

  7. 026-log4j配置文件模板

    模板一: ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender lo ...

  8. jquery 部分函数源码解析

    JSON.stringify源码(在看extend文档的时候看到) var object1 = { apple: 0, banana: {weight: 52, price: 100}, cherry ...

  9. 【随笔】Linux主机简单判断CC攻击的命令

    今天看到一个很有意思的命令tcpdump,在这里记录下. 如果想要看tcpdump的详细用法,可以点击这里. 什么是CC攻击? 关于CC攻击,这里引用百度的解释: CC攻击的原理就是攻击者控制某些主机 ...

  10. 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14

    首先来段题外话:之前我发现我贴出的代码都没有行号,给讲解带来不便.所以从现在起,我要给代码加上行号.我写博客用的这个插入代码的插件,确实不支持自动插入行号.我真的没有找到什么好方法,无奈之下,只能按照 ...