2012-05-30 101 views
0

爲了能夠使用Edgecast CDN,我們必須編寫一個自定義媒體提供商,該提供商在網站從6.5111230升級到120427之前運行良好。升級之後,沒有任何圖像顯示在網站上。我調試了代碼並找到了一個可能的原因。在升級後修復程序包括 -Sitecore 6.5 rev。 120247媒體網址添加了一個斜槓

默認情況下,媒體的URL現在將相對於站點根目錄(如/~/media/images/picture.ashx或/virtualFolder/~/media/picture.ashx產生)而不是相對於當前頁面。這樣的網址被認爲是SEO友好的,並且也改善了緩存。 (346213,3322285)

現在,在媒體網址的開頭添加了一個前導斜槓「/」。所以url不會被生成爲「//mediaserver/abc.jpg」。 'MediaUrlOptions.VirtualFolder'默認設置爲「/」,我想確認這是問題,如果我可以在代碼中覆蓋它,但我想知道是否可以通過配置文件控制它在code.If使這一變化的,這不是問題的話,我怎麼能解決這個問題

+0

你能提供一些呈現這些圖像的示例代碼?您是在前端還是在C#API上使用1FieldRenderer1控件? –

+0

我可能會嘗試聯繫Sitecore,他們可能知道發生了什麼事。 – Holger

回答

1

在這裏提供答案的興趣:

在Media.MediaLinkPrefix設置由於刪除斜槓在下面的一個 <setting name="Media.MediaLinkPrefix" value="/mediaserver" />

除了:Sitecore的自動添加,現在它 <handler trigger="/mediaserver/" handler="sitecore_media.ashx" />

此外,自6.5.0版本開始,媒體API已得到改進。 120427.現在可以使用在SDN的發行說明每參考號碼312358一個web.config設置優雅覆蓋MediaProvider類: http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/ChangeLog.aspx

+0

我沒有寫這個媒體提供者。另一位開發者離開了公司,所以我正在圈子裏。那樣做了。非常感謝。 – Gabbar