IIS 不提供静态内容(css/js/images 等)404

Posted

技术标签:

【中文标题】IIS 不提供静态内容(css/js/images 等)404【英文标题】:IIS not serving static content (css/js/images, etc) 404 【发布时间】:2016-01-21 15:34:20 【问题描述】:

我已经这样做了 100 万次......

创建项目(在这种情况下,它是一个空的 Web 应用程序,仅使用 html 文件)。 编辑 hosts 文件以允许自定义 URL (local.xxx-xxx.com) 创建 IIS 网站和应用程序池以指向 local.xxx-xxx.com 和 选择开始目录。 编辑根文件夹的权限以允许 IIS_IUSRS 和 NETWORK SERVICE 以便能够访问文件。

我已经进入 IIS 检查是否在“Windows 功能”中选中了“静态内容”复选框,并且是。

我没看到什么?

另外,例如,当我浏览到“http://local.xxx-xxx.com/source/sass/main.min.css”时,我得到:

HTTP 错误 404.0 - 未找到 您要查找的资源已被删除、名称已更改或暂时不可用。

【问题讨论】:

【参考方案1】:

IIS 不会返回未添加到 元素或在 默认元素。此行为可防止未经授权的访问 IIS 7 配置设置中没有映射的文件。

元素的元素将唯一的 MIME 类型添加到静态内容类型的集合中。每个条目必须由两部分组成:

由 fileExtension 指定的唯一文件扩展名 属性,例如“.txt”、“.png”等。文件的 MIME 类型 mimeType 属性指定的名称扩展名,例如 例如,“text/plain”、“image/jpg”等

Reference

【讨论】:

text/css 在我的 MIME 类型中 - 但是,我的条目类型为“本地”,我看不到在哪里可以将其更改为“继承”。 Inherited 表示站点从服务器级别的配置中继承了这个 MIME 类型,所以应该不是你的问题,对不起【参考方案2】:

典型错误:您在 IIS 而不是网站上创建应用程序。

http://localhost/ExampleApp

HTML 中的路由是绝对的:

http://localhost/css/main.css

没有找到,因为它位于这里:

http://localhost/ExampleApp/css/main.css

【讨论】:

以上是关于IIS 不提供静态内容(css/js/images 等)404的主要内容,如果未能解决你的问题,请参考以下文章

django基础知识之管理静态文件css,js,images:

django:通过nginx提供静态文件

IIS7.5 上的静态文件处理程序不提供脚本

css拦截器,SpringMVC 拦截器(interceptors)对样式(css),JavaScript(js),图片(images)链接的拦截...

防止 IIS 通过 ASP.NET 管道提供静态文件

IIS 将 MVC 中的静态文件理解为动态内容