Sitecore富文本编辑器中媒体库项目URL的SSL问题

时间:2011-12-12 17:59:44

标签: sitecore sitecore6

我们正在使用Sitecore 6.2并要求在Sitecore管理网站上使用SSL。

除了在富文本编辑器中保存内容(单击“接受”按钮)之外,一切都运行正常,媒体库项目的所有URL都将添加“https:// ....(我们的域名地址)”。例如,

“〜/媒体/ 70E900F781E24A66915FA97E283C148E”

“https://www.mywebsite.com/~/media/70E900F781E24A66915FA97E283C148E”

解决方法是转到HTML编辑器并手动删除“https:// ...”部分。如果我们删除SSL,那么添加将不会发生并且它将正常工作。

我假设在SSL上使用Sitecore管理站点并不罕见,所以我想知道是否有办法解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以解开并调整开箱即用的LinkProvider类,并更改ExpandDynamicLinks()方法以将https://替换为http://

该类在此设置的web.config中定义:

<linkManager defaultProvider="sitecore">
  <providers>
    <clear />
    <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="true" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="never" languageLocation="filePath" shortenUrls="true" useDisplayName="false" />
  </providers>
</linkManager>

您可以将其重新创建为自定义提供程序,并将defaultProvider设置为您的自定义类:

<linkManager defaultProvider="custom">
  <providers>
    <clear />
    <add name="sitecore" type="Sitecore.Links.LinkProvider, Sitecore.Kernel" addAspxExtension="true" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="never" languageLocation="filePath" shortenUrls="true" useDisplayName="false" />
    <add name="custom" type="CustomUtility.LinkProvider, CustomUtility" addAspxExtension="true" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="never" languageLocation="filePath" shortenUrls="true" useDisplayName="false" />
  </providers>
</linkManager>

如果您没有反编译器,ILSpy is a free one