updating url rewriting rule with vs2012 web deployment web.config transformations

I can't figure out how to get my web.config deployment transformation to work for a rewrite rule. I've tried the following and it ignores it.

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">


 <system.webServer>
 <rewrite xdt:Transform="Replace">
  <rules>

    <rule name="Force HTTPS On Login/Register" stopProcessing="true">
      <match url="Account/Login(.*)|Register(.*)" ignoreCase="true" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
    </rule>


    <rule name="Force HTTPS Off" stopProcessing="true">
      <match url="((Account/Login(.*))|(Register(.*)))" negate="true" ignoreCase="true" />
      <conditions>
        <add input="{HTTPS}" pattern="^ON$" ignoreCase="true" />
      </conditions>
      <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
    </rule>


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

Answers


I use SlowCheetah to transform my web.config for production. I originally tried what you tried, but found that I had to add an empty

<rewrite>
  <rules />
</rewrite>

to the base web.config

and then write a transform like

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

(that is a redirect transform, but I think the same principal should apply).

Note xdt:Transform="Insert" to insert a new node into the skeletal <rules /> in the base config file.


Need Your Help

Phonegap Windows Phone gap space bottom

css3 cordova windows-phone

I developp with phonegap and I have got a problem with the style.

How do I install MVC3 on a server without using the Web Platform Installer (and without Visual Studio)?

asp.net-mvc-3 iis-7 installation

How do I install MVC3 on a server without using the Web Platform Installer (and without Visual Studio)?

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.