主要解决 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
注意下:这块 “检查输入字符串是否:” 选择 “与模式不匹配” !