Url rewriting 无法清除子文件夹中的重写规则
我在网站根目录的web.config中有此规则,该规则重定向到HTTPS:Url rewriting 无法清除子文件夹中的重写规则,url-rewriting,web-config,iis-8,Url Rewriting,Web Config,Iis 8,我在网站根目录的web.config中有此规则,该规则重定向到HTTPS: <rewrite> <rules> <rule name="HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" negate="false" /> <conditions logicalGrouping="MatchAny">
<rewrite>
<rules>
<rule name="HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
<rewrite>
<rules>
<clear />
</rules>
</rewrite>
在一个子文件夹中,我有单独的配置文件,我想清除重定向到HTTPS,但此文件夹也重定向到HTTPS:
<rewrite>
<rules>
<rule name="HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
<rewrite>
<rules>
<clear />
</rules>
</rewrite>
您不能这样做。规则只能存储在web.config中定义。您可以将它们放在那里,或者提供存储规则的文件的路径(但仍在web.config中定义),如下所示:
<system.webServer>
<rewrite>
<rules configSource="App_Config\RewriteRules.config" />
<outboundRules configSource="App_Config\OutboundRewriteRules.config" />
<rewriteMaps configSource="App_Config\RewriteMaps.config" />
</rewrite>
</system.webServer>
如果您不想将某些URL重定向到HTTPS,那么您需要创建一个智能规则来检测这一点(或创建一组规则)