URL Rewrite in IIS 7.5 not working

iis-7.5redirectrewrite

I am trying to redirect all http traffic to https as the site requires SSL.

For example, if someone navigates to http://site.com or http://www.site.com I want to redirect the user to https://www.site.com

Right now the user gets a 403.4 Forbidden error – The page you are trying to access is secured with Secure Sockets Layer (SSL).

I've tried a number of different URL rewrite rules but none of them seem to work. In fact nothing seems to be happening different at all, almost like the module isn't even working properly.

First, is my rule correct? And if so, what else could be preventing this from working properly?

    <rewrite>
        <rules>
            <rule name="Redirect all http traffic to https" enabled="true" stopProcessing="true">
                <match url="(.*)" ignoreCase="true" />
                <conditions>
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
            </rule>
        </rules>
    </rewrite>

Best Answer

<rule name="Redirect 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>

And SSL needs to be off apparently.

Not sure if the and tags are appropriate.