Сайт 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
свойство, и теперь ссылки разрешаются правильно