使用 IIS 过程中遇到的一些问题

由于我最近开发的 Web 程序多是采用 Python 为主,因此大部分都是部署在 Linux 下的,自然在 Web 服务器上就选择了 Nginx,不过一些纯静态文件的 Web 应用会放在 IIS 下面。说完前提,就来介绍下我在使用 IIS 中遇到的一些问题。

.otf, .svg, .woff 和 .woff2 等字体文件返回 404

有使用 Bootstrap、FontAwsome,Semantic UI 的朋友对这些应该不会陌生,这些前端框架使用了这种字体图标。在 Nginx 下面这些都是正常返回的,但是在 IIS 下面提示却会返回 404,找不到。原因是 IIS 没有配置这种文件的 MIME 类型。

添加 MIME 类型

woff: application/x-font-woff
woff2: application/font-woff2
svg: image/svg+xml
otf: font/otf

IIS MIME 类型设置

IIS MIME 类型设置

如果翻一翻 Nginx 的配置文件 nginx.conf,可以看到有个默认的 default_typeapplication/octet-stream,那么理论上不管什么类型的文件,Nginx 都不会出现 IIS 这种问题。

http {
    include       mime.types;
    default_type  application/octet-stream;
    ...
}

路径有 . 号

如果你的项目路径,有 . 号,比如 /path/1.2.1/a.css,那么也会返回 404。这是我在使用 FrozenUI 中遇到的悲剧问题。由于我在本地开发一直都是使用 Windows 版的 Nginx,也一直没有问题,但是到了线上使用 IIS,结果就悲剧了。

参考文献

http://ideasof.andersaberg.com/development/quick-fix-iis-woff-font-file-404-not-found-in-aspnet-mvc/

posted @ 2015-08-19 23:34  NaN-Hax  阅读(412)  评论(0编辑  收藏  举报