Сайт SiteCore MultiSite - ссылки на сайте A на сайт B разрешаются как пути под сайтом A, а не идут на домен сайта B (C#)

Извините, если название вводит в заблуждение, но в основном у меня есть основной сайт, сайт 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 ответ

Оказывается, это потому, что я добавил второй домен в определение сайта SiteB: hostName="siteB.com|Bsite.com, Sitecore может определить каналы в значении hostName, но когда дело доходит до разрешения доменов сайтов для ссылок, канал испортил их. Я исправил это, добавив targetHostName свойство, и теперь ссылки разрешаются правильно

Другие вопросы по тегам