我在ASP.Net MVC网络应用程序中的此文件夹结构中有以下字体文件:
- [根]
| - 公开
|| --fonts
||| --NuvoWeb-Medi.eot
||| --NuvoWeb-Medi.woff
在我的CSS文件中,我有以下字体声明:
@font-face
{
font-family: NuvoWeb;
src: url(/Public/fonts/NuvoWeb-Medi.eot);
}
@font-face
{
font-family: NuvoWeb;
src: url(/Public/fonts/NuvoWeb-Medi.woff) format('woff');
}
但是,当我运行应用程序时,Firebug会返回以下错误:
“NetworkError:404 Not Found - http://localhost:60194/Public/fonts/NuvoWeb-Medi.woff“
请告知我缺少什么才能使其发挥作用。
答案 0 :(得分:68)
找到解决方案here ...
问题是IIS不知道如何提供这些新文件,除非我们告诉它如何。通过添加以下代码段,可以在web.config的<system.webServer>
部分的web.config中轻松完成此操作:
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<mimeMap fileExtension=".m4v" mimeType="video/m4v" />
<mimeMap fileExtension=".ogg" mimeType="video/ogg" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<mimeMap fileExtension=".webm" mimeType="video/webm" />
<mimeMap fileExtension=".oga" mimeType="audio/ogg" />
<mimeMap fileExtension=".spx" mimeType="audio/ogg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
请注意,其中一些扩展可能已在IIS中处理(对我来说,.svg很好)。您需要从此部分删除这些地图,或者包含其他<remove>
行,例如.eot。
答案 1 :(得分:7)
在web.config
中注册MIME类型,如下所示:
<system.webServer>
<staticContent>
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
</staticContent>
</system.webServer>
这解决了这个问题。
答案 2 :(得分:2)
公用文件夹(css here)---&gt;字体文件夹(此处为字体-NuvoWeb-Medi.eot)
@font-face
{
font-family: 'NuvoWeb';
src: url(fonts/NuvoWeb-Medi.eot);
}
你错过了引号symbol-family:'NuvoWeb';