Не удается очистить правило перезаписи в подпапке
У меня есть это правило в web.config в корне веб-сайта, который перенаправляет на 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>
В подпапке у меня есть отдельный файл конфигурации, и я хочу очистить перенаправление g на HTTPS, но эта папка также перенаправляет на HTTPS:
<rewrite>
<rules>
<clear />
</rules>
</rewrite>
1 ответ
Тебе этого не сделать. Правила могут храниться только в файле 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, вам нужно создать умное правило, которое будет обнаруживать это (или иметь набор правил).