asp fontawesome 404(未找到)

时间:2014-05-13 11:56:18

标签: asp.net-mvc iis-7 font-awesome-3.2

我的生产IIS7服务器和本地iisexpres上都出现此错误(在我设置debug="false"之后)

GET http://localhost:64231/font/fontawesome-webfont.woff?v=3.2.1 404 (Not Found) jquery-1.11.0.min.js:2
GET http://localhost:64231/font/fontawesome-webfont.ttf?v=3.2.1 404 (Not Found) localhost/:1
GET http://localhost:64231/font/fontawesome-webfont.svg 404 (Not Found) 

我已将mime类型添加到web.config中。我还将它们添加到IIS

  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
  <remove fileExtension=".svg" />
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
  <remove fileExtension=".ttf" />
  <mimeMap fileExtension=".ttf" mimeType="application/x-font-ttf" />

我做错了什么?

5 个答案:

答案 0 :(得分:2)

当您将调试值设置为false时,它将自动为这些包启用优化。而不是在你的html生成代码中(通过示例):

<link href="/content/bootstrap-3.3.5.min.css" rel="stylesheet"/>
<link href="/content/font-awesome.min.css" rel="stylesheet"/>

你会有这样的事情:

<link href="/Styles?v=ca92niiBlGWlTNkBwoMTPgQGz9_5Ghi39pZxcx5Dyfk1" rel="stylesheet"/>

这就是你的路径不再正确的原因。我认为设置绝对路径是解决此问题的正确方法。

如果您不希望在应用处于发布模式(debug="false")时自动启用优化,则可以将此行添加到文件/App_Start/BundleConfig.cs中:

BundleTable.EnableOptimizations = false;

编辑:我刚刚看到你问题的日期......我来到这里是因为我昨天遇到了同样的问题。我希望我的解释会对某人有所帮助。

答案 1 :(得分:2)

问题在于字体的相对路径。我用绝对路径url('/content/FontAwesome/font/...');

替换了它

答案 2 :(得分:2)

所有最后的回复都不适合我。我可以看到页面向资源请求的网址类似于&#39; YourWebsite / fonts / fontawesome-webfont.woff2?v = 4.7.0&#39;

然后我决定用路径生成fontawesome捆绑包&#34;〜/ bundles / fonts&#34;

bundles.Add(new StyleBundle(&#34;〜/ bundles / fonts&#34;)                 .Include(&#34;〜/ Content / font-awesome.css&#34;,new CssRewriteUrlTransform()));

然后为我工作

答案 3 :(得分:0)

对我来说,修改font-awesome.css或字体真棒_variables.scss或关闭优化听起来都是一个非常糟糕的主意。前者将被包更新覆盖(假设您使用的是一些包管理系统 - bower,npm,NuGet)。后者会降低网站的性能。我会尝试这些:

  1. 安装FontAwesome NuGet包而不是bower或npm存储库。这会将font-awesome.css放入/Content目录,因此相对../font/也会指向正确的方向。
  2. 将文件(基本上是重复的)复制到/font/。后者可能会导致两个副本在程序包更新时发生分歧,但不会导致站点失败。
  3. 最后,我使用了一个NuGet包,而不是一个凉亭,将css放入/Contents,将字体放入/fonts。所以Debug和Release都可以正常工作。

答案 4 :(得分:0)

我在使用 ASP coreLibMan 时遇到了类似的问题。为了下载所需的文件,我添加了 "webfonts/*" 行:

{
   "library": "font-awesome@5.15.2",
   "destination": "wwwroot/lib/fontawesome",
   "files": [
      "css/all.css",
      "js/all.js",
      "webfonts/*"
      ]
}