Sitecore多站点 - 站点A到站点B上的链接正在解析为站点A下的路径,而不是转到站点B域(C#)

时间:2018-03-26 16:35:21

标签: c# url hyperlink sitecore multisite

很抱歉,如果标题令人困惑,但基本上我有一个主站点,站点A(sitecore / content / Home)和一个微型站点,站点B(sitecore / content / SiteBHome)。在几页上,我将Sitecore链接插入到站点B.但是,这些链接解析为/SiteBHome/page并转到siteA.com/sitebhome/page而不是siteB.com/page

我该如何解决这个问题?我有一个重定向siteA.com/sitebhome - > siteB.com,但这会丢失路径,只是将我发送到主页,所以我暂时删除了它:

<rule name="homepage path Redirect" stopProcessing="true">
  <match url="^second-site-home/?(.*)$" />
  <action type="Redirect" url="http://secondsite.org" redirectType="Found"/>
  <conditions>
    <add input="{HTTP_HOST}" pattern="^(www\.)?mysite.com$" />
  </conditions>
</rule>

我有一个自定义链接提供程序类,目前看起来像这样,但我不知道如何修改它以修复我的链接:

using Sitecore.Links;

namespace MySite.Library.CustomSitecore.Pipeline
{
    public class CustomLinkProvider : LinkProvider
    {
        public override UrlOptions GetDefaultUrlOptions()
        {
            UrlOptions urlOptions = base.GetDefaultUrlOptions();
            urlOptions.SiteResolving = true;
            return urlOptions;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

原来这是因为我在SiteB的网站定义中添加了第二个域:hostName="siteB.com|Bsite.com。 Sitecore能够在hostName值中找出管道,但是当解决链接的站点域时,管道会将其混乱。我通过添加targetHostName属性修复此问题,现在链接正确解析