PDFファイルやMP4動画がインターネット エクスプローラ(IE)で表示されない


説明

Sitecoreのメディア リクエストに対してHTTP範囲取得機能を有効にした場合、次の問題が発生する恐れがあります:

HTTP範囲取得機能は、ウェブサイトから動画やPDFなどのファイルをダウンロードする際、ダウンロードの終了を待たずに、一部だけをダウンロードしてウェブ ブラウザで表示を開始できるようにするための機能です。
詳細情報については、 https://www.rfc-editor.org/rfc/rfc9110.html#name-range-requestsをご覧ください。

解決先1

この解決策では、全てのメディア ファイルの種類でHTTP範囲取得機能を無効にすることで問題を修正します:

  1. 以下に従って、Web.configファイルのMedia.EnableRangeRetrievalRequest設定を変更し、Sitecoreメディアの範囲取得を無効にします:
    <setting name="Media.EnableRangeRetrievalRequest" value="false" />
  2. /Website/App_Data/MediaCacheフォルダからファイルを削除し、Sitecoreメディアのキャッシュをクリアします。
  3. ブラウザ キャッシュを削除し、ブラウザを再起動します。

解決策2

この解決策では、HTTP範囲取得機能を無効にすることなくMP4ファイルの問題を修正します。また、この方法では、PDFファイルのみ機能を無効にし、他のメディア ファイルでは引き続き有効にすることが可能です。 

  1. Sitecore.Support.368505.415156.dll/Website/binフォルダに配置します。
  2. web.configファイルを開き、次のメディア リクエストのハンドラの変更を実施します:
    下記の行を
    <system.webServer>
       <handlers>
          <add verb="*" path="sitecore_media.ashx" type="Sitecore.Resources.Media.MediaRequestHandler, Sitecore.Kernel" name="Sitecore.MediaRequestHandler" />
    ....
    <system.web>
       <httpHandlers>
          <add verb="*" path="sitecore_media.ashx" type="Sitecore.Resources.Media.MediaRequestHandler, Sitecore.Kernel" />
    ....
    下記の行に変更します。
    <system.webServer>
       <handlers>
          <add verb="*" path="sitecore_media.ashx" type="Sitecore.Support.Resources.Media.MediaRequestHandler, Sitecore.Support.368505.415156" name="Sitecore.Support.MediaRequestHandler" />
    ....
    <system.web>
       <httpHandlers>
          <add verb="*" path="sitecore_media.ashx" type="Sitecore.Support.Resources.Media.MediaRequestHandler, Sitecore.Support.368505.415156" />
    ....
  3. web.configの<settings>セクションに次の設定を追加します:
    <setting name="Media.DisableRangeRetrievalRequestMimeTypes" value="application/pdf" />
  4. /Website/App_Data/MediaCacheフォルダに含まれているファイルを削除し、Sitecoreメディア キャッシュをクリアします。
  5. ブラウザのキャッシュを削除し、ブラウザを再起動します。

註:他のmimeタイプを無効にするには、Media.DisableRangeRetrievalRequest設定にそれらを設定に追加する必要があります。例えば、application/pdfおよびapplication/zipの両方の範囲取得を無効にするには、その値を「application/pdf, application/zip」に設定してください。