Я бы не смешивал правила разных хостинговых сред;localhost (для локального развития) и www, ваша живая среда.Если вы храните их отдельно, вам не нужно включать и отключать правила в зависимости от среды.
Раздел rules
имеет атрибут configSource
, с помощью которого вы можете указать на другой отдельный файл, например,RewriteRules.config
.При этом web.config
будет выглядеть здесь ниже.
<configuration>
<!-- Other settings go here. -->
<system.webServer>
<!-- other settings go here --->
<rewrite>
<rules configSource="RewriteRules.config">
</rewrite>
</system.webServer>
</configuration>
Файл RewriteRules.config
содержит правила.
<rules>
<rule name="CanonicalHostNameRule1">
<!-- Rule details go here -->
</rule>
</rules>
Вы делаете отдельную версию этого файла RewriteRules.config
для среды, содержащей только соответствующие правила, и разверните ее на соответствующем веб-сервере.
Это имеет много преимуществ.
- Оцениваются только правила для соответствующей среды, что лучше для производительности.
- Это более гибко, если у вас естьдругие среды, такие как QA (http://qa. ...) и dev (http://dev. ...).
- Вам не нужно беспокоиться (и проверять), соответствуют ли правилаодна среда будет мешать другой, здесь: локальная или живая.
Развертывание файла RewriteRules.config
может быть включено в автоматизацию развертывания.