Redirect a url to another url in IIS 7.5

7,241

The domain name is not part of the URL so you can't match against that. You have to add a condition to match against the HTTP_HOST variable. if you want any URL on that domain to be redirected, you have to match againt .*.

E.g. the following is probably what you want:

<rule name="webmail">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" type=”Pattern” pattern="^webmail\.example\.com$">
    </conditions>
    <action type="Redirect" url="https://mail.example.com:8000" />
</rule>
Share:
7,241

Related videos on Youtube

Jason White
Author by

Jason White

Updated on September 18, 2022

Comments

  • Jason White
    Jason White over 1 year

    I have no idea why this isn't working. I've tried creating map rules and then rewritng and redirecting the url. I've tried just redirecting it with a simple rewrite rule and no matter what, the only time I can get it to work is if I set the match url to match this regex .*.

    I'm trying to redirect webmail.example.com to mail.example.com. Seemed like it would have taken but a couple seconds; boy was I wrong. I'm thinking I must be doing something wrong with the regex, but I'm not sure what as when I test it it seems to work fine.

                <rule name="webmail" patternSyntax="ECMAScript" stopProcessing="true">
                    <match url=".*webmail.*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    </conditions>
                    <action type="Redirect" url="https://mail.example.com:8000" appendQueryString="false" logRewrittenUrl="true" />
                </rule>
    

    Thanks

  • Jason White
    Jason White over 11 years
    in case I need to remember this again later, also make sure you have webmail.domain.com added into the site binding.