打开 Sitecore 媒体库时出现 404

Getting 404 when opening Sitecore Media Library

与问题相关 Getting Sitecore 404 for physical files 我的任务是专门删除媒体文件夹上的波浪号前缀(也在问题的答案之一中提到)。 之后像上面的相关问题一样打开媒体库时出现 404。所以我将 /sitecore/shell/Applications/Media/MediaShop AND /sitecore/shell/Applications/Media/Media Folder.aspx 添加到 web.config 中的 IgnoreUrlPrefix 设置 这解决了问题,但我不确定这是如何解决问题的,以及为什么删除媒体文件夹上的波浪号会导致媒体库页面出现 404。 有人可以解释一下吗?

如果您有在使用波浪号前缀时创建的现有内容,那么特别是富文本字段中的现有内容仍然使用波浪号前缀。您可以通过查看字段的 Edit HTMLRaw Values 进行检查,格式为:

<img src="-/media/123A4B6789012CAB34C567AB79CBD084.ashx?h=100%25&w=100%25" style="height: 100%; width:100%;">

为了更改波浪号并仍然支持您需要补充媒体配置更改的旧内容,请修补对以下部分的更改:

<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>

    <settings>
      <!-- Extensions of media files should match it's type -->
      <setting name="Media.RequestExtension">
        <patch:attribute name="value"></patch:attribute>
      </setting>

      <!-- Change the media prefix from the default -->
      <setting name="Media.MediaLinkPrefix">
        <patch:attribute name="value">-/media</patch:attribute>
      </setting>
    </settings>

    <!-- Media handler prefixes -->
    <customHandlers>
      <handler patch:before="*[@trigger='~/media/']" trigger="-/media/" handler="sitecore_media.ashx" />
    </customHandlers>

    <!-- Support Media Prefixes -->
    <mediaLibrary>
      <mediaPrefixes>
        <prefix value="-/media"/>
        <prefix value="~/media"/>
      </mediaPrefixes>
    </mediaLibrary>

  </sitecore>
</configuration>

更改前缀以匹配您需要的任何内容。

在任何情况下,link 都会在前端站点上正确呈现。请注意,您使用了 /media,如果创建了一段名为 media* 的内容,媒体处理程序将尝试处理它,即使它是内容,例如mysite.com/media/newsmysite.com/news/latest/media/。您可能想要添加一些验证以防止创建此类项目。