简体   繁体   中英

Exceptions in redirection in URL in IIS Rewrite module are ignored

I have a new site https://www.NewSite.com and I would like all the traffic to my old site https://www.OldSite.com to be redirected to the root of my new site https://www.NewSite.com/ , with some exception.

For instance I would like the URL (among others) https://www.OldSite.com/noredirect not to be redirected and others to be rewritten. For instance:

Therefore I wrote two rules in my Old Site site in IIS:

<rewrite>
<rules>
   <clear />
      <rule name="Rewrite To New Site" stopProcessing="true">
          <match url="/kb(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
          <action type="Rewrite" url="https://www.newsite.com/kb" />
      </rule>
      <rule name="Redirect to New Site" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{REQUEST_URI}" pattern="(.*)/noredirect$" negate="true" />
          </conditions>
          <action type="Redirect" url="https://www.newsite.com" appendQueryString="false" />
      </rule>
  </rules>
</rewrite>

This rules just redirect all the requests to my old site to the root of my new site, ignoring the exceptions and the rewrite rule. The same happens with:

<rule name="Redirect to New Site" stopProcessing="true">
              <match url="(.*)" />
              <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                <add input="{REQUEST_URI}" pattern="^/noredirect(.*)" negate="true" />
              </conditions>
              <action type="Redirect" url="https://www.newsite.com" appendQueryString="false" />
          </rule>

What am I doing wrong?

Make sure you've checked "Enable proxy" under Application Request Routing cache. You can find some information about it here: http://www.iis.net/learn/extensions/configuring-application-request-routing-%28arr%29/creating-a-forward-proxy-using-application-request-routing

Good luck!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM