在IIS
中运行时,我的ASP.Net MVC页面出现以下错误可下载字体:下载失败(font-family:" FontAwesome"样式:正常权重:正常拉伸:正常src索引:1):status = 2147746065 source:http://localhost/MyApp/fonts/fontawesome-webfont.woff?v=4.1.01 sharedStyle:1: 126778
本地运行的同一页面,一切正常。部署了所有文件 FA的路径是C:\ inetpub \ wwwroot \ MyApp \ Content \ Template \ font-awesome-4.1.0
我尝试了Why font-awesome works on localhost but not on web ?和ASP.NET MVC4 Bundling with Twitter Bootstrap
的所有解决方案更新
我按照Shyju的建议将fileExtensions添加到system.webServer,但它没有改变问题。
捆绑可能存在问题吗?我用以下方式使用它:
public static void RegisterBundles(BundleCollection bundles)
{
StyleBundle sharedStyleBundle = new StyleBundle("~/bundles/sharedStyle");
sharedStyleBundle.Include("~/Content/Template/font-awesome-4.1.0/css/font-awesome.css");
...
bundles.Add(sharedStyleBundle);
...
}
答案 0 :(得分:0)
IIS不知道如何提供这些新类型的文件。我们应该明确告诉他们这些是好的文件类型。
将此部分添加到<system.webServer>
部分下的web.config中。那应该解决它。
<staticContent>
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
有时,如果已经添加,则需要将其删除并重新添加以避免可能的冲突/错误。
<staticContent>
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
答案 1 :(得分:0)
我必须按如下方式更改捆绑:
public static void RegisterBundles(BundleCollection bundles)
{
StyleBundle sharedStyleBundle =
new StyleBundle("~/Content/Template/font-awesome-4.1.0/css/bundle");
sharedStyleBundle
.Include("~/Content/Template/font-awesome-4.1.0/css/font-awesome.css");
bundles.Add(sharedStyleBundle);
...
}
看起来很重要的是,bundle的密钥与bundle路径本身具有相同的结构。