IIS 7.5不加载静态HTML页面

新安装的专用服务器上有一个IIS 7.5。 ASP.NET 4.0 Web应用程序复制到它的文件夹,新的网站是在80后自己的IP上创build的,IIS_IUSR和IUSR帐户拥有读取/执行站点文件夹的权限,站点被分配到自己的集成应用程序池与4.0 .NET (我尝试了与相同结果的经典池)。

问题是:当我尝试访问这个网站时,浏览器只加载由.NET资源生成的内容,例如aspx页面,.axd文件等。静态图像,静态js,css和html文件在页面源代码中,但IIS不不为他们服务。 所有浏览器中的开发工具都抱怨说,所有这些静态资源都是由服务器发送的错误内容types(纯文本而不是图像,样式等)发送的。 我做错了什么?

IIS 7 / 7.5有一个新的“function” – angular色服务。 rsbarro的post提醒我,有一个负责静态内容的angular色服务。 它是Web服务器/通用HTTPfunction/静态内容。 如rsbarrobuild议的,检查IISpipe理器中是否存在MIMEtypes图标。

如果没有,您需要安装静态内容angular色服务。 要做到这一点,请select:

  • 服务器pipe理器
  • angular色
  • Web服务器(IIS)节点从左窗格中
  • 滚动到angular色服务窗口
  • 看看是否安装了静态内容angular色服务。

从你所描述的,这似乎是你的问题。

一般来说,如果IIS7没有做到IIS6做的事情,首先要检查是否安装了通讯员angular色服务。 希望这可以帮助。

在IIS下,转到您的网站并查看MIMEtypes部分(参见下图)。 确保你看到.js,.css,.html等列表中的条目,并且它们具有指定的正确的MIMEtypes。 如果指定了MIMEtypes,IIS 7.5将只提供页面。 默认情况下,这些扩展名的MIMEtypes在位于C:\Windows\system32\inetsrv\config文件夹(可能必须以pipe理员身份运行记事本才能查看文件)中的applicationHost.config文件中设置。 只要search.js,你应该在<staticContent>元素的<mimeMap>下find一个条目。

iis MIME类型

这些设置可以在您的web.config文件中重写。 如果是的话,他们会出现在web.config的以下位置:

 <system.webServer> <staticContent> <remove fileExtension=".js" /> </staticContent> </system.webServer> 

我肯定会开始在那里检查。 如果MIMEtypes部分的内容看起来都正常,那么可能有一个模块干扰了对静态文件的请求(但是很可能只有在<system.webServer>设置了<modules runAllManagedModulesForAllRequests="true" /> <system.webServer>部分)。 如果是这种情况,我会删除你的web.config中的所有模块设置,看看你是否可以调出静态文件,然后逐个读取它们,看看哪个模块导致了问题。 如果你不能弄明白,那么我会build议发布web.config (或至lesssystem.websystem.webServer部分)的内容在问题中。

我有同样的问题,但我的应用程序池运行在域帐户下,该用户有权访问该网站文件夹。 我的网站呈现aspx,但没有静态内容。 解决我的问题是将IIS_IUSRS组添加到本地安全策略,称为“身份validation后模拟客户端”。 IIS_IUSRS组拥有我的域帐户。 我正在运行iis 7.5 windows 2008服务器。