如何从 web.config 重写规则中排除目录?
How do I exclude a directory from a web.config rewrite rule?
我们有一个从 http 到 https 的重写规则,并且工作正常。但是,我们有一个目录 "complaints",我们不希望应用该规则。我以为我知道该怎么做,并且在过去的几个小时里研究了它,它似乎是正确的,但它不起作用。
这是规则...
<rule name="https redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{REQUEST_URI}" pattern="^complaints$" negate="true"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
我也试过这种方法,对我也行不通...
<rules>
<rule name="skip rule" stopProcessing="true">
<match url="^complaints$" />
<action type="None" />
</rule>
<rule name="https redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
进行这些更改后,我还 运行 IISRESET。
有人知道为什么不忽略 "complaints" 目录吗?
我从正在工作的 web.config 文件中删除了额外的代码,而是在 "complaints" 目录中创建了一个 web.config,其中包含以下...
<rules>
<clear />
</rules>
这会导致 "complaints" 目录忽略从父目录继承的规则。
我们有一个从 http 到 https 的重写规则,并且工作正常。但是,我们有一个目录 "complaints",我们不希望应用该规则。我以为我知道该怎么做,并且在过去的几个小时里研究了它,它似乎是正确的,但它不起作用。
这是规则...
<rule name="https redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{REQUEST_URI}" pattern="^complaints$" negate="true"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
我也试过这种方法,对我也行不通...
<rules>
<rule name="skip rule" stopProcessing="true">
<match url="^complaints$" />
<action type="None" />
</rule>
<rule name="https redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
进行这些更改后,我还 运行 IISRESET。
有人知道为什么不忽略 "complaints" 目录吗?
我从正在工作的 web.config 文件中删除了额外的代码,而是在 "complaints" 目录中创建了一个 web.config,其中包含以下...
<rules>
<clear />
</rules>
这会导致 "complaints" 目录忽略从父目录继承的规则。