我克隆了客户的Orchard CMS。我克隆的存储库不包含Media
文件夹(这很好)。因此,下一步是从Media/Default
备份恢复.zip
目录。现在我已经恢复了,浏览到站点会为Media
文件夹中的所有资源提供404错误。为什么呢?
答案 0 :(得分:4)
/Media
文件夹缺少必需的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>
开箱即用,Orchard的Media
文件夹包含Web.config
文件。由于源代码管理排除了Media
文件夹,因此它也没有Web.config
。在IIS 7+集成模式下,提供静态文件需要以下配置,因为根Orchard.Web/Web.config
文件<clear/>
是所有处理程序。
<add name="StaticFile"
path="*"
verb="*"
modules="StaticFileModule"
preCondition="integratedMode"
resourceType="File"
requireAccess="Read" />