我在applicationHost.config中配置了重写规则,并在web.config中重写。 有没有办法通过Microsoft.Web.Administration API以编程方式删除覆盖? 例如,这是applicationHost.config中的测试规则:
<configuration>
<location path="Default Web Site">
<system.webServer>
<rewrite>
<rules>
<rule name="TestRuleA" enabled="true" stopProcessing="false">
<match url="A" />
<action type="Rewrite" url="A" />
</rule>
</rules>
</rewrite>
</system.webServer>
</location>
</configuration>
这是相同的规则,但在web.config中重写:
<configuration>
<system.webServer>
<rewrite>
<rules>
<remove name="TestRuleA" />
<rule name="TestRuleA" enabled="true" stopProcessing="false">
<match url="A_MODIFIED" />
<conditions />
<serverVariables />
<action type="Rewrite" url="A" />
</rule>
<rule name="CUSTOM_RULE">
<match url="1" />
<action type="Rewrite" url="1" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我想以编程方式删除网站级别的所有替换。 这是web.config中的预期结果:
<configuration>
<system.webServer>
<rewrite>
<rules>
... not test rule ...
<rule name="CUSTOM_RULE">
<match url="1" />
<action type="Rewrite" url="1" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我尝试使用RevertToParent,但它可以应用于整个部分,但我只需将其应用于我的重写规则。 有可能吗?