本地IIS10加载网页因MIME类型(text/html)不允许加载失败如何解决?
IIS 10静态资源返回text/html MIME类型错误排查方案
出现该报错的核心原因是.js/.css等静态资源的请求没有被IIS静态文件处理模块正常响应,反而返回了HTML格式的错误内容/动态处理结果,以下是按优先级排序的排查步骤:
- 检查IIS静态内容功能是否安装
打开「服务器管理器」>「添加角色和功能」> 依次定位到「Web服务器(IIS)」>「Web服务器」>「常见HTTP功能」,确认静态内容选项已勾选,未勾选则完成安装后重启IIS生效。 - 核对站点MIME类型配置
打开IIS管理器,选中对应站点后双击「MIME类型」,确认存在以下默认配置:.js对应application/javascript.css对应text/css
配置缺失可手动添加,修改后执行iisreset命令重启IIS服务。
- 调整处理程序映射优先级
该问题是绝大多数同代码不同环境运行异常的核心诱因:选中站点后双击「处理程序映射」,点击右侧操作栏的「查看有序列表」,确认StaticFile处理程序的排序在PHP对应的处理程序(常见名称为PHP_via_FastCGI)上方。如果PHP处理程序优先级更高,静态资源请求会被PHP模块先拦截,未匹配路由就会返回HTML格式的报错,触发MIME类型校验失败。 - 排查重写规则与错误页配置
若站点配置了伪静态重写规则,确认规则已排除.js/.css/图片等静态资源路径;同时检查自定义404错误页是否为PHP动态页面,若静态资源读取失败触发404时会直接返回HTML内容。可直接在浏览器地址栏访问报错的静态资源地址,查看返回内容是否为HTML格式即可快速定位该问题。 - 核对站点文件夹权限
确认站点对应应用池的运行身份(如IUSR、应用池内置账户)对站点根文件夹拥有读取和执行权限,权限不足会导致IIS返回HTML格式的权限错误页,触发相同报错。
内容的提问来源于stack exchange,提问作者Josef
相关产品推荐
相关产品推荐

