ASP.NET Core发布至IIS后wwwroot目录图片报404错误,本地正常
解决IIS发布后图片404但CSS正常加载的问题
以下是具体排查和解决方向:
检查路径与文件名大小写
Windows本地环境不区分路径大小写,但IIS服务器的部分配置可能对大小写敏感。如果代码里写的图片路径(比如/images/logo.png)和服务器上实际文件名(比如Logo.png)大小写不一致,就可能触发404。统一路径和文件名的大小写即可。验证静态文件读取权限
确认IIS应用程序池的身份账户对wwwroot下的图片文件有读取权限。右键图片所在文件夹 → 「属性」→ 「安全」标签,检查IIS AppPool\你的应用池名称账户是否拥有读取权限,没有的话添加并赋予该权限。排查URL重写规则干扰
如果站点配置了URL重写模块,可能规则误拦截了图片请求。打开IIS管理器 → 目标站点 → 「URL重写」,查看现有规则,确保没有对.png、.jpg等图片后缀的请求进行重定向或拦截,必要时添加规则允许图片文件的正常请求。确认图片是否被发布工具遗漏
检查项目里图片文件的属性:右键图片 → 「属性」,将「复制到输出目录」设置为「如果较新则复制」或「始终复制」。若设置为「从不」,发布时图片不会同步到服务器,导致404。修改后重新发布即可。检查IIS请求过滤规则
打开IIS管理器 → 目标站点 → 「请求过滤」,在「文件扩展名」标签下确认没有禁止图片相关扩展名(如.png);同时检查「隐藏段」列表,确保图片所在的文件夹路径未被列入隐藏。
内容的提问来源于stack exchange,提问作者DotNetUser
相关产品推荐
相关产品推荐

