You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS7部署.NET MVC站点IE10加载CSS失败返回MIME为text/html及406错误

问题现象

运行在IIS 7上的.NET MVC应用,Chrome、Firefox浏览器页面样式加载正常,仅IE 10中CSS无法加载。Network面板显示CSS资源返回MIME类型为text/html,同时返回406(HTTP Unacceptable)状态码,确认CSS文件路径正确。
页面引用CSS代码如下:

<link href="/Content/css-app/bootstrap.min.css?v=20210924122520" rel="stylesheet" type="text/css" />

IE 10 Network日志如下:
IE 10 Network日志

解决思路

406状态码本质是服务器无法返回客户端Accept请求头指定的内容格式,同时返回text/html类型说明CSS请求未被IIS静态文件处理模块接收,反而被托管程序处理后返回了错误页/路由不匹配内容,可按以下步骤逐一排查:

  • 第一步:配置MVC路由忽略静态资源路径
    打开项目RouteConfig.cs文件,在路由规则最顶部添加忽略静态资源目录的规则,避免托管路由拦截CSS等静态文件请求:
    routes.IgnoreRoute("Content/{*pathInfo}");
    // 如还有Scripts等其他静态资源目录可再加对应规则
    // routes.IgnoreRoute("Scripts/{*pathInfo}");
    
  • 第二步:核对IIS站点MIME类型配置
    打开IIS管理器,进入对应站点的「MIME类型」功能,确认.css扩展名对应的MIME值为text/css,如不存在或配置错误,重新添加即可。
  • 第三步:调整IIS处理程序优先级
    进入站点的「处理程序映射」功能,点击右侧「查看有序列表」,将StaticFile处理程序移动到所有.NET托管处理程序(如ExtensionlessUrlHandler-Integrated-4.0)之前,保证静态文件请求优先被静态处理模块响应,不会进入托管路由逻辑。
  • 第四步:校正web.config静态资源配置
    在项目web.config的<system.webServer>节点下添加如下配置,强制指定CSS文件的MIME类型:
    <staticContent>
      <remove fileExtension=".css" />
      <mimeMap fileExtension=".css" mimeType="text/css" />
    </staticContent>
    
  • 第五步:排查IE 10用户代理识别问题
    低版本.NET Framework无法正确识别IE 10的用户代理标识,会误判为低版本浏览器或未知客户端,导致请求处理异常。可升级对应服务器的.NET Framework补丁,或在项目中添加兼容IE 10的浏览器能力配置文件。

所有配置修改完成后,重启IIS站点,清除IE 10浏览器缓存后再次测试即可。

内容的提问来源于stack exchange,提问作者Aishwary Rastogi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:09:03