Удалить раздел в файле web.config в режиме отладки
У меня есть приложение asp.net, которое должно работать по протоколу SSL, и для этого есть некоторые правила перезаписи, определенные в web.config.
<!--file web.config -->
....
</system.webServer>
<rewrite>
<rules configSource="webrewrite.config" />
</rewrite>
</system.webServer>
<!--file web.config -->
<rules>
....
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
....
</rules>
Однако в режиме разработки (с локальным веб-сервером или IIS Express) я не хочу использовать SSL. Поэтому я хотел бы иметь возможность использовать преобразования web.config для удаления одного или нескольких правил перезаписи (но не всех)
2 ответа
Если вы хотите удалить весь раздел для вашей конфигурации Dev, используйте
<system.webServer>
<rewrite xdt:Transform="Remove" >
</rewrite>
</system.webServer>
Я решил проблему, используя Remove transform, как показано ниже
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
....
<system.webServer>
<rewrite>
<rules>
<rule name="RulaNameToRemove"
xdt:Transform="Remove"
xdt:Locator="Match(name)" >
</rule>
</rewrite>
</system.webServer>
</configuration>
Пожалуйста, напишите ниже код web.Debug и файл конфигурации web.Release. Web.Debug удалит правила перезаписи и web.Release insert rewrite rules.
Web.Debug.config
<system.webServer>
<rewrite>
<rules>
<rule name="RulaNameToRemove"
xdt:Transform="Remove"
xdt:Locator="Match(name)" >
</rule>
</rewrite>
</system.webServer>
</configuration>
Web.Release.config
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true" xdt:Transform="Insert">
<match url=".*"/>
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true"/>
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
</system.webServer>
Вы можете перенести настройки выпуска в файл web.config.release