我们正在使用Sitecore 6.2并要求在Sitecore管理网站上使用SSL。
除了在富文本编辑器中保存内容(单击“接受”按钮)之外,一切都运行正常,媒体库项目的所有URL都将添加“https:// ....(我们的域名地址)”。例如,
“〜/媒体/ 70E900F781E24A66915FA97E283C148E”
到
“https://www.mywebsite.com/~/media/70E900F781E24A66915FA97E283C148E”
解决方法是转到HTML编辑器并手动删除“https:// ...”部分。如果我们删除SSL,那么添加将不会发生并且它将正常工作。
我假设在SSL上使用Sitecore管理站点并不罕见,所以我想知道是否有办法解决这个问题。谢谢!
答案 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。