IIS10下使用url重写模块(rewrite)完成:http 跳转 https 、不带www 跳转到 www,并排除指定域名,以及“若要安装iis URL重新模块2,需要iis7.2版或更高版本”问题的解决

主要解决 http跳转问题,然后顺道解决下 不带www的域名跳转到www的域名下。

例如 http://PrintY.com 跳转到 https://www.PrintY.com。

当然还有一个问题,就是IIS绑定了多域名,指定域名不想让跳转,例如还绑定了 admin.PrintY.com ,那么这个域名就不想让它自动跳转。

我这里用的是rewrite完成URL的重新来实现的,服务器: Windows server 2019 、IIS10

1、下载rewrite_x64_zh-CN.msi

我用的是 rewrite 2,是以前下载的,就凑合用了,如果安装过程中提示:解决“若要安装iis URL重新模块2,需要iis7.2版或更高版本。”这个问题,解决方法如下:

  1、【Win+R】大凯运行框,然后输入【regedit】确定打开注册表;

  2、找到:HKEY_LOCAL_MACHINESOFTWAREMicrosoftInetStp (也可以复制到路径上)

  3、选中以后,找到名称为“MajorVersion”的节点(如果有两个则选中第一个)

   4、右键“修改”

 将“a”改成“9”

  5、重新安装rewrite,这个时候应该可以了,安装完毕以后,记得把值该回来。

2、配置url重写规则

右键“打开”->选择最后边“操作“下的的“添加规则”->“空白规则”,然后“确定”

 模式:(.*)    ,然后展开“条件”

条件输入:{HTTPS}    模式:^OFF$  ,然后继续往下滑动,继续填写

 

重定向URL:https://{HTTP_HOST}/{R:1}    重定向类型:已找到(302) 或 参阅其它(303)

然后点击“应用”就行了,这块我说下,现在这么配置有个问题,例如:http://PrintY.com 会自动跳转到  https://PrintY.com,所以这块要改成:https://www.PrintY.com/{R:1} ,改成这样,无论是否带www都会跳转到wwww.上面!

接下来还有一个问题,那就是排除其它不想跳转的域名,这个到“添加条件”那一步,再额外添加一个条件:

条件输入:{HTTP_HOST}      模式:^要排除的域名$   例如:admin.PrintY.com

注意下:这块 “检查输入字符串是否:” 选择 “与模式不匹配” !

原文地址:https://www.cnblogs.com/PrintY/p/14270728.html