4

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

ответ

4

Quick Fix

/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 содержит 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" />