Caching IIS URLRewrite和RewriteCacheEnabled存在问题

Caching IIS URLRewrite和RewriteCacheEnabled存在问题,caching,azure,url-rewriting,iis-8,Caching,Azure,Url Rewriting,Iis 8,我在Azure网站上运行一个Web应用程序大约六个月,没有任何问题。但不知何故,环境发生了变化,我的URLRewite重定向规则遇到了问题。我猜这是因为激活了RewriteCacheEnabled 规则是这样的 <rule name="Redirect root to language selection page" stopProcessing="true"> <match url="^$" /> <conditions trackAllCaptures=

我在Azure网站上运行一个Web应用程序大约六个月,没有任何问题。但不知何故,环境发生了变化,我的URLRewite重定向规则遇到了问题。我猜这是因为激活了RewriteCacheEnabled

规则是这样的

<rule name="Redirect root to language selection page" stopProcessing="true">
  <match url="^$" />
  <conditions trackAllCaptures="false">
    <add input="{HTTP_HOST}" pattern="^www\..+" />
  </conditions>
  <action type="Redirect" url="http://{HTTP_HOST}/detect-region-and-language" />
</rule>

规则:如果url为空(根),检查HTTP_主机是否以www.开头,并重定向到语言检测。 目的:将www.domain.com重定向到语言选择,但不要为language.domain.com执行此操作

我调试了重写模块,并得到以下输出:

发生的情况:HTTP_主机northamerica.domain.com被重定向到缓存的、与完全不同的HTTP_主机(www.domain.com)不匹配的条目,而不检查条件

随着时间的推移,缓存的条目将刷新,并基于当前请求的子域。这会导致一种奇怪的行为,在5分钟的周期内,每个子域都有一个新的重定向目标

我猜:重写缓存条目是由匹配URL键入的,它是一个空字符串。我无法禁用RewriteCacheAbled,因为我没有权限更改azure网站上的注册表项

我联系了Microsoft支持部门,但我的请求仍被搁置


建议您提供任何帮助

这个问题与一个主要的WAWS错误有关,记录在这里:由Microsoft修复的错误