How do I make URL rewrite work with web.Release.config transform?

Viewed 14992

I have a web.config rewrite rule specified to move all traffic to https. The rule works, but I don't want SSL required while I am debugging. I have a bunch of web.release.config transformations being done already that work on publish so I decided to put a rewrite rule in there. The problem is that the rewrite rule isn't being transformed like the rest of the settings. Here is the web.config setup:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>

    <rewrite></rewrite>
</system.webServer>

And here is the transformation being done:

  <system.webServer>
<rewrite>
  <rules>
    <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
      <match url="(.*)"/>
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$"/>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
    </rule>
  </rules>
</rewrite></system.webServer>

If I just copy the rewrite rule to the web.config it works fine. Does anyone out there have any ideas why web.Release.config transforms aren't working for only this section?

4 Answers
Related