Sitecore 8.1 升级媒体部分损坏

Sitecore 8.1 Upgrade Media section broken

我将 sitecore 从 7.0 升级到 8.1。我遇到的唯一真正的问题 运行 是媒体部分损坏了,图像在网站本身上看起来也损坏了。

奇怪的是我可以上传和下载媒体项目。它在 chrome 和 firefox 中都被破坏了。

谢谢]1 更新

 <encodeNameReplacements>
      <replace mode="on" find="&amp;" replaceWith=",-a-," />
      <replace mode="on" find="?" replaceWith=",-q-," />
      <replace mode="on" find="/" replaceWith=",-s-," />
      <replace mode="on" find="*" replaceWith=",-w-," />
      <replace mode="on" find="." replaceWith=",-d-," />
      <replace mode="on" find=":" replaceWith=",-c-," />
    </encodeNameReplacements>

Sitecore Media Protection 似乎有问题(首次包含在 Sitecore 7.5 中)。

您可以在 Adam 博客中阅读更多相关信息 post "Do not turn Sitecore Media Request protection off and protect older Sitecore versions with ImageGuard"

但我不知道为什么哈希没有添加到 Sitecore 中的链接中。对于 Sitecore 内部站点(例如 shelllogin 等)应该禁用它。

尝试通过更改 /App_config/Include/Sitecore.Media.RequestProtection.config 文件中的配置来禁用媒体保护,看看这是否是您遇到问题的原因。

8.1 中的一项新变化是将默认前缀从“~”更改为“-”。它可能与此前缀更改有关。如果您采用获得 404 的 URL 并将 ~ 替换为 -,媒体 URL 是否有效?

已修复。事实证明,sitecore 的配置方式在 7-8.1 之间发生了很大变化。通过添加

 <sitecore configSource="App_Config\Sitecore.config" />

删除旧部分解决了问题。

您缺少替代品:

<replace mode="on" find=" " replaceWith="-" />

如果您在媒体项名称中使用空格,可能会导致图像请求出现问题。 将其添加到您的部分

另一件要看的事情是,如果您的 CustomHandler 部分是这样的:

<customHandlers>
   <handler trigger="-/media/" handler="sitecore_media.ashx" />
   <handler trigger="~/media/" handler="sitecore_media.ashx" />
   <handler trigger="~/api/" handler="sitecore_api.ashx" />
   <handler trigger="~/xaml/" handler="sitecore_xaml.ashx" />
   <handler trigger="~/icon/" handler="sitecore_icon.ashx" />
   <handler trigger="~/feed/" handler="sitecore_feed.ashx" />
</customHandlers>

这与 Sitecore Upgrade 8.1 IR

指定的 "Configuration Files Changes" 相同