When user enters domain.com it should redirect to my application which is https://www.domain.com. Currently it is not happening and it is showing a page \"This Connection is Unt
Your rewrite rule is just redirecting to the same domain. So if a user enters just domain.com
(defaulting to http) it will redirect to https://domain.com
. If your SSL certificate does not contain domain.com
but only www.domain.com
it will cause the browser to prompt a warning about a wrong certificate. Though most certificate authorities nowadays issue certificates with both the domain with and without www (but maybe yours not).
If you want the user to always use https://www.domain.com
(always with www) you should use the following rewrite rule:
<rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" negate="true" pattern="^ON$" />
<add input="{HTTP_HOST}" negate="true" pattern="^www\.domain\.com$" />
</conditions>
<action type="Redirect" url="https://www.domain.com{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
</rule>
It will force SSL and will force www.domain.com
as a host header. If not, it will issue a permanent redirect (= beter) to the same URL.