Я пытаюсь настроить правила перезаписи в Asp. Net проекте.
Перезапись на https и удаление любых "www."
в настоящее время работает в производстве, но когда я пытаюсь запустить его на localhost, он продолжает перенаправлять его на https.
Это сайт Umbraco, работающий на Azure. Вот почему первое правило существует.
Вот как оно выглядит в настоящее время: у меня есть и правило, и два условия, пытающиеся пропустить перенаправление localhost, но ни одно из них не работает.
<system.webServer>
<rewrite>
<rules>
<rule name="AlwaysOn agent requests without any redirections" stopProcessing="true">
<match url="^$"/>
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="^AlwaysOn$"/>
</conditions>
<action type="None"/>
</rule>
<rule name="Skip it all, if on localhost" stopProcessing="true">
<match url="^localhost$"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^localhost$"/>
</conditions>
<action type="None"/>
</rule>
<rule name="Remove www" stopProcessing="true">
<match url="(.*)"></match>
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
<add input="{HTTP_HOST}" matchType="Pattern" pattern="^localhost$" negate="true" />
</conditions>
<action type="Redirect" url="https://{C:1}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" matchType="Pattern" pattern="^localhost$" negate="true" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>