Ethan Pelton
Ethan Pelton

Reputation: 1796

http to https in IIS

I realize this is a simple question, but I'm just not finding the answer. I've applied the below rule...

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

The url I'm interested in has the pattern

http://[domain]/[directory]/[aspx page]

So http://example.com/funstuff/thefair.aspx

The result of the rewrite is http://[domain]/[an_aspx_page]

So the rewrite is removing the directory.

I assumed the {R:1} specifies a parameter that will be rewritten, and I tried https://{HTTP_HOST}/{R:1}/{R:2}, but this result in a 500 error.

I want to direct all traffic on this domain to https without changing the rest of the url entered by the user.

Upvotes: 1

Views: 127

Answers (1)

Scotty
Scotty

Reputation: 1137

Here's what we use on one of our sites to auto-redirect all traffic to the https version. It also includes everything else in the url.

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

Upvotes: 2

Related Questions