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">
                <action type="Redirect" url="https://mail.example.com:8000" appendQueryString="false" logRewrittenUrl="true" />


2 Answers 2


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=".*" />
        <add input="{HTTP_HOST}" type=”Pattern” pattern="^webmail\.example\.com$">
    <action type="Redirect" url="https://mail.example.com:8000" />
  • in case I need to remember this again later, also make sure you have webmail.domain.com added into the site binding. Dec 8, 2012 at 11:04

Why not create two IIS sites with host headers. For webmail.example.com one you use the IIS Manager -> HTTP Redirect to do it?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .