Не удается очистить правило перезаписи в подпапке

У меня есть это правило в 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, вам нужно создать умное правило, которое будет обнаруживать это (или иметь набор правил).

Другие вопросы по тегам