Welcome to the navigation

Ut veniam, dolore et ex quis eiusmod occaecat qui sunt ipsum pariatur, in eu cupidatat mollit dolor sit aute laborum, incididunt fugiat ea non enim. Anim sed amet, adipisicing est minim commodo in sunt magna mollit pariatur, laboris aliqua, lorem laborum, occaecat quis nisi nostrud ut velit tempor et dolore

Yeah, this will be replaced... But please enjoy the search!

Redirecting HTTP to HTTPS using IIS Url Rewriting

Categories Tags

I've always been a bit puzzled over the magic that surrounds Url Rewriting, it is actually very simple. What you need to do is

  1. Name the rule
  2. Create a pattern to use for matching the URL string that shall be rewritten
  3. Optional set of conditions
  4. Select the wanted action to perform if a pattern is matched and whether all conditions checks succeed

Name, Pattern, Conditions, Action.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <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="Permanent" />
            </rule>
         </rules>
      </rewrite>
   </system.webServer>
</configuration>

Since this is a snipped post I won't get into much depth but I'd like to remark the redirectType attribute in the action element in the example since that will affect search engines and some clients a lot. In my sample this is set to "Permanent", this equals a 301 redirect. There are a few other options available

  • Permanent (301)
  • Found (302)
  • See other (303)
  • Temporary (307)

Read more at, http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Redirect_action