IIS URL重写域更改301重定向单独地将某些页面和所有其他页面重定向到另一个URL



我是IIS URL重写Rule Regex并在这里寻求帮助的新手。

这是一个Sitecore网站,该网站是在ASP.NET MVC中构建的。我有一个域,即www.xyz.com与另一个域合并,即www.abc.com。我有两个www.xyz.com/test-> www.abc.com/test1的1-1映射。www.xyz.com/xx的所有内部页面都将使用www.abc.com/foo映射,除了www.xyz.com

之外
  • 我目前陷入了我的状态1(重定向www.xyz.com/主页上的第三方URL?2(同时使用www.abc.com/internal页面保留www.xyz.com/internal页面的1-1映射

我正在使用IIS URL重写规则将www.xyz.com的域重定向到www.abc.com,并寻求使用第三方页面的主页重定向的其他帮助

预先感谢!

您只需要两个不同的重定向规则,第一个规则将检查根域并重定向到第三方URL,第二个规则将检查内部页面并重定向到内部页面新域

它看起来像这样

    <rule name="redirect root to third party" stopProcessing="true">
         <match url="^$" ignoreCase="true" />
         <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" pattern="(www.)?xyz.com$" />
         </conditions>
         <action type="Redirect" redirectType="Permanent" url="<third party url here>" />
    </rule>
    <rule name="redirect to new domain" stopProcessing="true">
         <match url="/(.*)" />
         <conditions>
               <add input="{HTTP_HOST}" pattern="^(www.)?xyz.com$" />
         </conditions>
         <action type="Redirect" url="http://<new domain>/{R:1}" redirectType="Permanent" />
    </rule>

p.s:在第二个规则中,请检查/ - 我没有自己测试过该规则,在目标网址中可能会引入额外的斜杠或删除斜线,无论您是什么都可以修复它。这里的要点是,您需要两个单独的规则一个来检查确切的域之后,并将其重定向到第三方,而Sub页面重定向的另一个规则

最新更新