IIS中的FontAwesome错误

时间:2015-12-14 23:15:18

标签: css asp.net-mvc-4 iis font-awesome

在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);
  ...
}

2 个答案:

答案 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路径本身具有相同的结构。