仅当路径以“/umbraco/”结尾时才重定向到管理子域

Redirect to admin subdomain only when path ends with '/umbraco/'

我有这样一种情况,我们的客户运行他们基于 Umbraco 的网站并进行负载平衡,我们有以下规则将对所有这些服务器的请求重定向到主域“https://www.ourclient.co.uk”。

这是该重定向的代码:

<!-- Canonicalize all domains to a single domain -->
<rule name="SEO - http canonical redirect" stopProcessing="true" enabled="false">
   <match url="(.*)"/>
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
       <add input="{HTTP_HOST}" pattern="^www\.ourclient\.co\.uk" negate="true"/>
       <add input="{HTTP_HOST}" pattern="^admin\.ourclient\.co\.uk" negate="true"/>
       <add input="{HTTP_HOST}" pattern="^01-live\.ourclient\.co\.uk" negate="true"/>
       <add input="{HTTP_HOST}" pattern="^02-live\.ourclient\.co\.uk" negate="true"/>
        <add input="{HTTP_HOST}" pattern="^03-live\.ourclient\.co\.uk" negate="true"/>
        <add input="{HTTP_HOST}" pattern="^04-live\.ourclient\.co\.uk" negate="true"/>
    </conditions>
    <action type="Redirect" url="https://www.ourclient.co.uk/{R:1}"/>
</rule>

现在我需要实现的是对 https://www.ourclient.co.uk/umbraco/ is redirected to https://admin.ourclient.co.uk/umbraco/ 的任何请求,但对于我来说,我无法完成任何工作。

非常欢迎任何对解决方案的帮助,以及对我的 post 的任何更正。

只需添加一条新规则。

<rules>
    <rule name="SEO - http canonical redirect">
          ... your old stuff ... but exclude the admin.yourclient.com/umbraco (!)
    </rule>
    <rule name="redirectUmbracoToAdminSite">
        <match url="(.*)" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^yourclient\.com$" negate="true" />
            <add input="{REQUEST_URI}" matchType="Pattern" pattern="^umbraco" ignoreCase="true" negate="false" />
        </conditions>
        <action type="Redirect" url="http://admin.yourclient\.com/{R:1}" />
    </rule>
</rules>