Iis <;服务器变量>&书信电报;集合名称=“,”&引用/&燃气轮机;断开web.config
有一个TL;博士在问题的底部强> 这是 问题的背景(简单地说)是IIS重写会在重定向操作中删除协议。因此,有一个带有Iis <;服务器变量>&书信电报;集合名称=“,”&引用/&燃气轮机;断开web.config,iis,ssl,seo,web-config,url-redirection,Iis,Ssl,Seo,Web Config,Url Redirection,有一个TL;博士在问题的底部 这是 问题的背景(简单地说)是IIS重写会在重定向操作中删除协议。因此,有一个带有的规则,它描述了在重定向时保持协议的各种方法。最适合我的方法如下: …这种情况有两个原因: 维护协议需要多个规则。每种方法都要编写两个(一个只用于http,另一个用于https)是不可行的 此文件必须在直接SSL连接(其中{HTTP}=on)上工作,并与Cloudflare的灵活SSL兼容(其中{HTTP}=off,但{HTTP_X-Forwarded-Proto}是“HTTP”或
的规则,它描述了在重定向时保持协议的各种方法。最适合我的方法如下:
…这种情况有两个原因:
HTTPS=on
或HTTP\u X-Forwarded-Proto=HTTPS
这是我的原始代码,它删除了协议:
这是我修改过的代码,它使用所需的协议重定向,无论是直接SSL连接还是通过CloudFlare灵活的SSL连接:
除了
A) 我得到一个空白页面,url重写失败,没有错误信息
B) 但是,如果我删除此标记的两个实例,它就会起作用:
TL;DR为什么这不起作用
找到了答案
我必须手动将“HTTP_协议”添加到URL重写配置中允许的服务器变量列表中。这似乎只能通过IIS UI完成,而不能通过web.config文件完成