Url rewriting URL WeWrite模块错误,未重定向到HTTPS,IIS中存在区分大小写的问题

Url rewriting URL WeWrite模块错误,未重定向到HTTPS,IIS中存在区分大小写的问题,url-rewriting,case-sensitive,iis-8,virtual-directory,Url Rewriting,Case Sensitive,Iis 8,Virtual Directory,我有一个用大写字母命名的web应用程序目录,如下所示: 然后我将物理文件夹重命名为使用所有小写字母,如下所示: 我在web根目录中有一个URL重写规则,在使用HTTP时强制使用HTTPS协议。但是,重命名子文件夹后,会出现奇怪的行为 //失败:允许http //成功:重定向到https //成功:重定向到https //成功:重定向到https 起初,看起来只有在使用原始的全大写名称时才会出现这种情况,但这种行为比它看起来更复杂,因为子文件夹的大小写改变了行为,产生了类似的结果,

我有一个用大写字母命名的web应用程序目录,如下所示:

然后我将物理文件夹重命名为使用所有小写字母,如下所示:

我在web根目录中有一个URL重写规则,在使用HTTP时强制使用HTTPS协议。但是,重命名子文件夹后,会出现奇怪的行为

  • //失败:允许http
  • //成功:重定向到https
  • //成功:重定向到https
  • //成功:重定向到https
起初,看起来只有在使用原始的全大写名称时才会出现这种情况,但这种行为比它看起来更复杂,因为子文件夹的大小写改变了行为,产生了类似的结果,这也违反了原始假设

在这两种情况下,当设置为web应用程序时,目录最初使用大写字母,因此它们都有带有大写字母的虚拟目录

我只是把目录改成小写。要重置虚拟目录,我只需在IIS管理器中右键单击该应用程序,删除该web应用程序,然后重新添加它

  • 失败:允许http
  • 成功:重定向到https(惊喜!)
  • 成功:重定向到https
  • 成功:重定向到https
如果我指向一个不存在的目录,它甚至可以正确重定向

  • 成功:重定向到https(不存在的目录)
  • 成功:重定向到https(不存在的目录)

我只是不明白为什么它在这两种情况下都无法进行定向,第一种情况是当目标是web应用程序根目录时,它的原始字母大小写是,第二种情况是当它以web应用程序中的子文件夹为目标时,它的原始字母大小写是,但只有子文件夹的正确新字母大小写。

清除我的web浏览器缓存后问题才得以解决,但这并不能解释为什么服务器允许不安全的HTTP请求通过,而重写规则应该拦截它。