Daz
Daz

Reputation: 147

http to https redirect - iis8.5 url rewrite 2.0 redirect rule not working

I am having a hard time getting the below redirect rule to work...

<rules>
<rule name="Relative Path Rewrite" stopProcessing="false">
  <match url=".*" />
  <conditions logicalGrouping="MatchAll">
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/$" negate="true" />
  </conditions>
  <action type="Rewrite" url="/" />
</rule>
<rule name="Ssl Redirect" stopProcessing="false">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>

The issue is as follows...

If i enter http://mywebsite.com it redirects to https://mywebsite.com no problem.

however, if i enter http://mywebsite.com/faq it is redirecting to https://mywebsite.com instead of https://mywebsite.com/faq and i cannot figure out why? It appears to be ignoring the '{R:1}' back reference that would come from my match which should be 'faq'

I've been battling with this for a while, any ideas on what is going on here would be great.

Some additional information is that i am hosting an angular 4.0 site that this rule is applied to...

Upvotes: 0

Views: 1273

Answers (1)

Daz
Daz

Reputation: 147

Reversing the rules worked.

<rewrite>
 <rules>
  <rule name="Ssl Redirect" stopProcessing="false">
   <match url="(.*)" />
   <conditions>
    <add input="{HTTPS}" pattern="^OFF$" />
   </conditions>
   <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
  </rule>
  <rule name="Relative Path Rewrite" stopProcessing="false">
   <match url=".*" />
   <conditions logicalGrouping="MatchAll">
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    <add input="{REQUEST_URI}" pattern="^/$" negate="true" />
   </conditions>
   <action type="Rewrite" url="/" />
  </rule>          
 </rules>
</rewrite>

Upvotes: 1

Related Questions