Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


I have spent almost a day trying to figure this out. I am helpless now after all the searches and want to reach out to the community.

I want to redirect any traffic on my website based on the following rule -> ->

The subfolder needs to be passed as a query string

I have tried this and it does not seem to work.

<rule name="Reditect1" stopProcessing="true">
                    <match url="^(.*)*)" />
                        <add input="{R:2}" pattern="^[a-zA-Z0-9_]*$" />
                    <action type="Redirect" url="/test.aspx?c={C:0}" appendQueryString="true" />

Any help is highly appreciated

share|improve this question

So, after more research and trial and error I was able to figure it out. Here is how I have it setup now.

 <rule name="Redirect1" stopProcessing="true">
        <match url="^(.*)$" />
                <add input="{R:0}" pattern="^(?!\s*$).+$"/>
                <add input="{R:0}" pattern="^[a-zA-Z0-9_]*$" />
        <action type="Redirect" url="/test1.aspx?client={C:0}" appendQueryString="true" />

The rule was setup at the site level and not the server level in IIS. Hence, the pattern matching ignored the domain name.

^(.*)*) - tried matching a after the actual qualified domain name. So would satisfy the condition and not


The rule matches any URL that comes in - Pattern (.*)

The first condition ensures that anything following the qualified domain name has at least one non-space character

The second condition ensures there are no special characters in the part that is being parsed. This was my requirement.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.