HTTP 404: в каталоге /Media нет изображений.

Я клонировал клиентскую CMS Orchard. Репозиторий, который я клонировал, не содержал папки Media (это хорошо). Итак, следующим шагом было восстановление каталога Media/Default из резервной копии .zip. Теперь, когда я восстановил это, просмотр сайта дает ошибку 404 для всех ресурсов в папке Media. Почему?


person Shaun Luttin    schedule 27.11.2014    source источник


Ответы (1)


Быстрая починка

В папке /Media отсутствует необходимый файл Web.config. Добавьте это.

Медиа/Web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings>
    <add key="webpages:Enabled" value="false" />
  </appSettings>
  <system.web>
    <httpHandlers>
      <!-- iis6 - for any request in this location, return via managed static file handler -->
      <add path="*" verb="*" type="System.Web.StaticFileHandler" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
    </staticContent>

    <handlers accessPolicy="Script,Read">
      <!--
      iis7 - for any request to a file exists on disk, return it via native http module.
      accessPolicy 'Script' is to allow for a managed 404 page.
      -->
      <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
    </handlers>
  </system.webServer>
</configuration>

Подробности

По умолчанию папка Media Orchard содержит файл Web.config. Поскольку система контроля версий исключила папку Media, у нее также не было ее Web.config. В интегрированном режиме IIS 7+ для обслуживания статических файлов требуется следующая конфигурация, поскольку корневой Orchard.Web/Web.config файл <clear/>s содержит все обработчики.

<add name="StaticFile" 
     path="*" 
     verb="*" 
     modules="StaticFileModule" 
     preCondition="integratedMode" 
     resourceType="File" 
     requireAccess="Read" />
person Shaun Luttin    schedule 27.11.2014