Home > Software design >  How to rediret all requests to another host in IIS
How to rediret all requests to another host in IIS

Time:05-18

I want to redirect all requests from the old domain to a new domain. For example:

From:    oldhost.com/app1/houses?city=springs
To:      newhost.com/app1/houses?city=springs

I've tried using both the basic "HTTP Redirect" as far as "URL Rewrite" module with the same results. Redirect only works to a limited extent, as long as there is nothing past the first path segment:

oldhost.com/app1 - works
oldhost.com/app1/houses?city=springs - does not work

Here is the attempted URL Rewrite rule:

   <rule name="rule1" enabled="true" stopProcessing="true">
          <match url=".*" />
          <action type="Redirect" url="https://newhost.com/{C:1}" logRewrittenUrl="true" />
          <conditions>
               <add input="{HTTP_HOST}" pattern="oldhost.com(.*)" />
          </conditions>
    </rule>

CodePudding user response:

You can try this rule:

<rule name="test">
  <match url="^(.*)$" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^oldhost.com$" />
    </conditions>
  <action type="Redirect" url="https://newhost.com/app1{R:1}" />
</rule>

CodePudding user response:

Got it to work with the following rule:

   <rule name="my_redirect" enabled="true" stopProcessing="true">
                    <match url=".*" />
                    <action type="Redirect" url="https://newhost.com/{R:0}" logRewrittenUrl="true" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="oldhost.com" />
                    </conditions>
   </rule>
  • Related