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

Django部署在Microsoft IIS无法加载CSS,提示MIME类型错误如何解决?

问题原因

你遇到的报错本质是请求/static/blog/main.css时,IIS没有返回对应的CSS静态文件,反而返回了HTML格式的内容(通常是404错误页面),浏览器检测到MIME类型不匹配就拒绝加载样式。

解决方案

按以下顺序排查即可解决:

1. 确认静态文件真实存在

直接打开服务器的文件目录,检查C:\inetpub\wwwroot\PyWeb\static\blog\main.css是否真实存在。
如果文件不存在,检查settings.py的INSTALLED_APPS列表中是否添加了你的blog应用,Django的collectstatic命令只会收集已注册应用下static目录内的文件,未注册应用的静态文件不会被拷贝到STATIC_ROOT。

2. 核对IIS虚拟目录配置

对比/media和/static两个虚拟目录的配置:

  • 确认/static别名映射的物理路径确实是C:\inetpub\wwwroot\PyWeb\static
  • 确认/static虚拟目录的权限配置和/media完全一致,已经给IUSR用户开放读取权限

3. 检查IIS全局MIME类型配置

打开IIS管理器,进入你的站点配置页,打开「MIME类型」功能:

  • 查找.css扩展名对应的MIME类型,确认值为text/css
  • 如果不存在该配置,手动添加:扩展名填.css,MIME类型填text/css

4. 修正Web.config重写规则

这是最常见的遗漏配置:你需要在URL重写规则中添加静态路径例外,避免静态文件请求被转发给Django后端处理。在Web.config的重写规则段添加如下规则:

<rule name="Static Files Skip" stopProcessing="true">
    <match url="^(static/|media/)" />
    <action type="None" />
</rule>

验证修复结果

所有配置修改完成后,重启IIS站点并清空浏览器缓存,可直接在浏览器地址栏输入http://localhost/static/blog/main.css验证:如果能正常显示CSS文件内容说明配置生效,回到站点页面即可正常加载样式;如果仍显示404错误页面,回到前3步重新核对文件路径和权限配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 03:54:01