2011-12-12 28 views
3

我們正在使用Sitecore 6.2並且需要在Sitecore管理站點上使用SSL。Sitecore富文本編輯器中媒體庫項目URL的SSL問題

除了在Rich Text編輯器中保存內容(單擊ACCEPT按鈕)時,所有媒體庫項目的URL都將添加「https:// ....(我們的域名地址)」 。例如,

「〜/媒體/ 70E900F781E24A66915FA97E283C148E」

「https://www.mywebsite.com/~/media/70E900F781E24A66915FA97E283C148E」

解決辦法是去HTML編輯器並手動刪除「https:// ...」部分。如果我們刪除了SSL,那麼添加不會發生,它會正常工作。

我假設有SSL上的Sitecore管理網站並不罕見,所以我想知道是否有辦法解決這個問題。謝謝!

+0

有趣的問題。我搜索了一些Sitecore DLL代碼,但找不到答案。也許你可以聯繫這方面的支持? –

回答

1

你也許可以反編譯,並調整了外的開箱LinkProvider類,並改變ExpandDynamicLinks()http://

類在web.config定義在此設置替換https://

<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

+0

聽起來很可怕。爲什麼你需要反編譯?繼承和重寫應該足夠了。 –

+0

沒錯,但是你需要對它進行反編譯,看看你需要如何改變方法。在你的「覆蓋」版本中,你可能會有很多原始代碼,但有一些調整。如果你不作爲參考去反編譯,你怎麼知道你甚至會寫什麼? –

+0

我使用反射器 - 它允許從我身邊看最小動作的代碼 –