performance - 如何配置 Sitecore 以生成指向媒体项目的绝对链接?

标签 performance url sitecore pagespeed

<sc:Image><sc:FieldRenderer> , 在渲染 MediaItem 时,生成如下所示的 html 代码:

<img src="~/media/twitter.gif" alt="Twitter" width="100" height="22" />

注意 src 中使用的相对路径属性:这意味着当这样的图像在多个页面上重复使用时,浏览器必须多次获取它(例如在页面 http://example.com/http://example.com/about-us/ 上)。当我生成 img代码中的标记,我可以使用以下代码段来强制使用绝对 URL:
string url = Sitecore.StringUtil.EnsurePrefix('/',
    Sitecore.Resources.Media.MediaManager.GetMediaUrl(media));

如何配置 Sitecore 以强制在媒体 url 中使用前导斜杠?

使用 Reflector 我可以看到 MediaOptions.AbsolutePath控制我想要实现的行为,但我不知道如何为 Sitecore 内置控件设置它。设置 Media.MediaLinkPrefixmediaPrefixesweb.config似乎没有改变任何东西。

最佳答案

我参与了一个项目,我们将媒体 Assets 存储在 Akamai 的 CDN 上,因此我们不得不更改媒体 URL 的解析方式。

我们调整了内置 LinkProvider通过更改类 ExpandDynamicLinks() .我们还改编了 Sitecore.Resources.Media.MediaProvider并更新了 GetMediaUrl()方法。

这些用于处理由字段渲染器生成的图像链接和在富文本编辑器中创建的链接。

关于performance - 如何配置 Sitecore 以生成指向媒体项目的绝对链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5977809/

相关文章:

MySQL 性能 : Single table or multiple tables

mysql - InnoDB Small 更新很慢,性能问题

c# - 如何将YouTube网址转换为.wav文件?

sitecore - 如何查看 sitecore 6 中的所有存档项目

sitecore - 禁用项目被锁定

计算圆形数量级

algorithm - App Store 如何计算每个应用的唯一下载次数?

python - 如何在 Twisted HTTP 服务器上强制下载文件?

Java 将 Jar URL 转换为文件

javascript - 如何将外部 javascript 加载限制为一次。 Sitecore 实现