Azure上的URLRewrite是否使用持久性缓存?
问题描述:
我添加了一个简单的重写Azure的Web应用程序Azure上的URLRewrite是否使用持久性缓存?
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
它工作正常,但是当我做任何改变,例如删除此片段,将重定向更改为“www.google.com”,没有任何更改(它会像以前一样重定向到https)!唯一有用的是杀死App Service并创建一个新的App Service。所以它真的好像是永远在那里缓存。这是真的,如果是的话,我们如何改变行为以允许改变现有规则?
P.S.我发现了一个类似于通用IIS here的问题,但它也没有答案。
答
似乎的确存在输出缓存,它可以被关闭:
<system.webServer>
<caching enabled="false" enableKernelCache="false" />
</system.webServer>
要知道,虽然这是为整个应用程序输出缓存,所以它可能会影响别的东西。在任何情况下,它都可以被利用,然后被注释掉以清除url重写规则的状态。