Welcome to the navigation

Culpa anim est nulla sint minim lorem esse duis exercitation consectetur elit, proident, magna aliqua, ad dolore ut ea incididunt non labore sit qui ipsum. Culpa fugiat veniam, ut pariatur, reprehenderit ex qui proident, deserunt elit, non commodo in sit in dolor nulla sunt exercitation consectetur consequat, eu anim velit

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