IIS 7.0无法正确处理静态文件

时间:2014-03-05 22:18:04

标签: asp.net .net http iis-7

我一直收到针对静态内容请求的HTTP 500错误,特别是.css.js。我开始监视HTTP请求,并在请求text/htmlcss时看到服务器正在返回js

我正在运行IIS 7.0,.NET 4.0和Windows Server 2008。

IIS中的所有MIME设置都是正确的。处理程序映射看起来也正确:

Name = Static File
Path = *
State = Enabled
Path Type = File or Folder
Handler = StaticFileModule,DefaultDocumentModule,DirectoryListingModule
Entry Type = Inherited

此外,我已确认StaticFileModule位于模块中,并检查static.dll中是否存在c:\windows\system32\inetsrv\static.dll

我能够提出的唯一解决方法是对我的网站web.config进行硬编码:

<system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
            <add name="javascript" verb="*" path="*.js" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
            <add name="css" verb="*" path="*.css" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
            <add name="png" verb="*" path="*.png" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
            <add name="bmp" verb="*" path="*.bmp" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
            <add name="gif" verb="*" path="*.gif" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
        </handlers>
        ....
    </system.webServer>

然而,它应该在没有这个的情况下工作......它在过去已有,而且目前在其他环境中也有效。

1 个答案:

答案 0 :(得分:0)

解决方案是运行应用程序池的Windows帐户需要添加到Impersonate a client after authentication本地安全策略中。