【问题标题】:Sitecore- Email campaign link redirect issueSitecore-电子邮件活动链接重定向问题
【发布时间】:2015-04-22 07:32:12
【问题描述】:

我在单个站点核心下有多个站点,并且我为每个站点配置了“EmailCampaigh 消息根”。

我创建了一个包含指向该网站的链接的时事通讯模板

我已发送电子邮件

我收到了电子邮件,当我点击链接时,它显示“找不到文档”页面

我在 SiteDefinition.Config 中进行了一些更改,但不起作用。

有人知道如何为多个站点配置 ECM。

谢谢

【问题讨论】:

  • 我已将 ECM 配置为按照您的方式工作。几个澄清问题:哪个版本的 ECM 和 Sitecore?您是否按照Administrators and Developer's Guide 的配置说明进行操作?您是在使用“测试发送”还是实际发送电子邮件?
  • 此问题已解决。实际上我已经为站点配置创建了新的配置文件。但由于某种原因,ECM 仅针对 SiteDefinition.Config 上的站点。

标签: sitecore sitecore-dms sitecore-ecm


【解决方案1】:

我看到您已经解决了这个问题,但对于未来的读者: 我遇到了同样的问题(Sitecore 6.6,ECM 1.2.0):

如果您的“Rendering.SiteResolving”设置为“true”,那么 Sitecore 将尽可能尝试使用子域,使您的内部链接使用在 SiteDefinition.config(或 web.config,如果您保留)中定义为 hostName 的子域您的网站定义)。

示例:如果您插入指向 sitecore/Content/Website/somesite 的内部链接,则在时事通讯中该链接应变为

http://yourdomain.com/sitecore/RedirectUrlPage.aspx?ec_url=/somesite?...

但是如果你有一个带有 hostName="somesite" 的站点定义,那么链接就会变成

http://yourdomain.com/sitecore/RedirectUrlPage.aspx?ec_url=http://somesite.yourdomain.com?....

如果您检查类 Sitecore.Modules.EmailCampaign.Core.EmailResponse,sitecore/RedirectUrlPage.aspx 继承自该类,您会看到:

string link = Context.Request.QueryString["ec_url"];
...
bool isInternal = link.StartsWith("/", StringComparison.OrdinalIgnoreCase) && !link.StartsWith("//", StringComparison.OrdinalIgnoreCase);

所以您的子域链接不再被接受为内部链接 - 然后发生这种情况:

if (!isInternal && !ExternalLinks.IsLinkRegistered(message, link))
    throw new EmailCampaignException("The unregistered external link: " + link + " detected.");

您可以通过将 siteresolving-setting 更改为 false 轻松解决此问题。对我来说,这有几个原因是不可能的,所以这就是我所做的——如果你有更好的方法,请告诉我: 我让 RedirectUrlPage.aspx 从一个自定义类继承,该类称为自定义 EmailReponse。在这里,我将条件更改为:

bool isInternal = (link.StartsWith("/", StringComparison.OrdinalIgnoreCase) && !link.StartsWith("//", StringComparison.OrdinalIgnoreCase)) || link.IndexOf("yourdomain") > -1;

这行得通! 当然,硬编码的域名应该替换为 HttpContext.Current.Request.Url.Host 之类的东西,但我还没有在生产中完全测试过 - 将在下一次部署中进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多