0

为了能够使用 Edgecast CDN,在网站从 6.5 rev 111230 升级到 120427 之前,我们必须编写一个可以很好地工作的自定义媒体提供程序。升级后,网站上没有显示任何图像。我调试了代码并找到了可能的原因。在升级中包括以下修复 -

默认情况下,媒体 URL 现在将相对于站点根目录(例如 /~/media/images/picture.ashx 或 /virtualFolder/~/media/picture.ashx)而不是相对于当前页面生成。这样的 URL 被认为是 SEO 友好的,并且还改进了缓存。(346213, 332285)

这现在在媒体网址的开头添加了一个前导斜杠“/”。所以 url 不会生成为“//mediaserver/abc.jpg”。默认情况下,“MediaUrlOptions.VirtualFolder”被设置为“/”。我想确认这是问题所在,以及是否可以在代码中覆盖它,但我想知道是否可以从配置文件中控制它在代码中进行此更改。如果这不是问题,那么我该如何解决这个问题?

4

1 回答 1

1

为了在这里提供答案:

删除 Media.MediaLinkPrefix 设置中的斜线,因为 Sitecore 现在会自动添加它: <setting name="Media.MediaLinkPrefix" value="/mediaserver" />

以及在以下一个中: <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

于 2012-06-05T19:22:27.333 回答