glyphicons-halflings-regular.woff2が見つからないというエラーを取り除く方法


95

ASP.NET MVC4 Bootstrap 3アプリケーションは、Microsoft Visual Studio Express 2013 for Web IDEから実行されています。

Chromeコンソールに常にエラーが表示される

http://localhost:52216/admin/fonts/glyphicons-halflings-regular.woff2
Failed to load resource: the server responded with a status of 404 (Not Found)

このファイルは、ソリューションエクスプローラーのfontsディレクトリにあります。ビルドアクションは[コンテンツ]に設定され、[出力ディレクトリにコピー]は[他のフォントファイルのようにコピーしない]です。NuGetを使用して、Bootstrap 3がソリューションに追加されます。このエラーが発生しないようにこれを修正するにはどうすればよいですか?アプリケーションはGlyphiconおよびFontAwesomeアイコンを適切に表示します。このエラーは、常にアプリケーションの起動時に発生します。

回答:


238

IISが知っていないため、この問題は起こりwoffwoff2MIMEタイプファイル。

解決策1:

次の行をweb.configプロジェクトに追加します。

 <system.webServer>
  ...
  </modules>
    <staticContent>
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <remove fileExtension=".woff2" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
    </staticContent>

解決策2:

IISプロジェクトページ:

手順1:プロジェクトのIISホームページに移動し、MIME Typesボタンをダブルクリックします。

ステップ1

ステップ2:をクリックしてAddからボタンActionsメニュー: ステップ2

ステップ3:画面の中央にウィンドウが表示されます。このウィンドウで、ソリューション1の2行を追加する必要があります。 ステップ3


これで解決しましたが、なぜですか?ソリューションが提供されたコードの単なる無意味なコピー/貼り付け以上の効果を発揮する理由について説明をいただければ幸いです。
Bpainter

3
@Bpainterこの回答の最初の行は、その理由を示しています。MIMEタイプはタイプに関連付けられていないため、ブラウザによるロードに失敗します。ブラウザーが関連付けられていないMIMEタイプのファイルを読み込まないのはなぜですか?それは私が答えを知らない別の質問だと思います。
CamilleSévigny15年

4
@CamilleSévignyあなたの質問への答えは、IISは有効なファイルタイプのみを提供するため、.woffおよび.woff2拡張子を認識しないため、これらのファイルに対するリクエストに404で応答します-見つかりません。
Grungondola

@CamilleSévignyありがとう、私がそのコメントをしたとき、最初の行はそこにありませんでした。事後編集。あなたのコメントがなければ、私はそれを見たことがないでしょう。
Bpainter

私の場合、問題は、ブートストラップとFont-Awesomeのバンドルで使用したCssRewriteUrlTransformでした。通常のフォルダ構造を維持する場合は、このオプションを使用する必要はありません。
g_brahimaj 2016年

47

私の場合、不足しているファイルをhttps://gitlab.com/mailman/mailman-website/raw/a97d6b4c5b29594004e3855f1ab1222449d0c211/content/fonts/glyphicons-halflings-regular.woff2から直接ダウンロードしたところです


7
私のためにそれを解決しました。ありがとう。ファイルをダウンロードし、プロジェクトフォルダの下にfontsフォルダを保存しました。「css」フォルダー内のCSSファイル、「fonts」フォルダー内のフォント
CyprUS

1
時々、ソリューションは非常にシンプルで、私たちは気づいていません:)ソリューションのfontsThnx、MVC5アプリの私のフォルダーでこれを見逃しました
Irf

6

htmlにのみアクセスできる場合は、これをhtmlに追加します。

<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">

おかげで、このソリューションは私のために働いた。しかし、このようにweb.configに<staticContent>タグを追加する-stackoverflow.com/questions/46508793/…- 私にはうまくいきませんでした。
BUDDHIKA

5

私にとって、問題は2つありました。最初に、私が扱っていたIISのバージョンは.woff2MIMEタイプについて知らず、についてのみ知りました.woff。IISマネージャーをWebアプリレベルではなくサーバーレベルで使用するように修正したので、新しいアプリを展開するたびに設定が上書きされません。(IISマネージャーの下で、MIMEタイプに移動し、不足しているを追加して.woff2から更新しました.woff。)

次に、さらに重要なことに、bootstrap.css他のファイルと一緒にとしてバンドルしていました"~/bundles/css/site"。その間、私のフォントファイルはにありました"~/fonts"。で翻訳さbootstrap.cssれたグリフィコンフォントを探します-間違ったパス。"../fonts""~/bundles/fonts"

つまり、私のバンドルパスは1つのディレクトリの深すぎました。名前をに変更"~/bundles/siteCss"し、プロジェクトで見つけたすべての参照を更新しました。これで、ブートストラップが"~/fonts"glyphiconファイルを探し、動作しました。問題が解決しました。

上記の2番目の問題を修正する前は、どのフォントファイルも読み込まれていませんでしたglyphicon。症状はglyphicon、プロジェクト内のすべてのグリフのインスタンスが空のボックスを表示しただけでした。ただし、この症状は、デプロイされたバージョンのWebアプリでのみ発生し、私の開発マシンでは発生しませんでした。なぜそうなったのかはまだわかりません。


3

上記の提案をすべて試しましたが、実際の問題は、アプリケーションがapp / fonts内の/ fontフォルダーとその内容(.woffなど)を探していましたが、/ fontsフォルダーが/ appと同じレベルにあったことです。/ appsの下に/ fontsを移動しましたが、正常に動作します。これが他の誰かがWebをローミングして答えを得るために役立つことを願っています。


1

この問題は、IISがwoff2ファイルのMIMEタイプの実際の 場所を見つけられないために発生します。font-faceのURLを適切に設定し、次に示すように、CSSファイルでfont-familyをglyphicons-halflings-regularとして保持します。

@font-face {
font-family: 'glyphicons-halflings-regular'; 
src: url('../../../fonts/glyphicons-halflings-regular.woff2') format('woff2');}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.