IIS Expressのweb.configにMIMEマッピングを追加する


178

IIS Expressに.woffファイル拡張子の新しいMIMEマッピングを追加する必要があります。

次のスニペットをIIS Expressの「applicationhost.config」に追加すると、正常に動作します。

<staticContent lockAttributes="isDocFooterFileName">
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
    ...

しかし、実際にそれを私の「web.config」に追加して、すべての開発者が「applicationhost.config」をローカルで変更する必要がないようにしたいと思います。

そこで、「applicationhost.config」ファイルから再度削除し、次のスニペットをプロジェクトの「web.config」に追加しました。

<system.webServer>
  ...
  <staticContent>
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
  </staticContent>
</system.webServer>

残念ながら、.woffファイルにアクセスしようとすると、最終的にHTTP 404.3エラーが発生するため、そのようには動作しません。

何が悪いのですか?

回答:


309

これを「web.config」に配置すると正常に機能します。問題は、MIMEタイプが間違っていることです。の代わりに、font/x-woffまたはfont/x-font-woffでなければなりませんapplication/font-woff

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

MIMEタイプに関するこの回答もご覧くださいhttps : //stackoverflow.com/a/5142316/135441

2013年4月10日更新

仕様は現在推奨であり、MIMEタイプは公式に次のとおりです。 application/font-woff


2
Fwiw、埋め込み.woffフォントファイルのIIS7 Web.configおよびIIS7での404エラーでMIMEタイプを追加する方法。出来上がりですが、パーティーには1年遅れました。
ruffin 2013年

5
リンクによると、更新されたMIMEタイプは次のようになります:application / font-woff(非推奨のapplication / x-font-woffではなく)。
longda 2013

1
@longdaそのヒントをありがとう!私はそれを反映するように答えを更新しました。
Martin Buberl 2013

web.configでカスタムMIMEタイプを定義するこの方法は、IIS Expressでのみ機能しますか?IIS 6に展開されたweb.configで試してみましたが、機能しません(404がスローされます)。IISマネージャーコンソールを介してMIMEタイプを追加しても、機能します。
Walter Stabosz 2013

@WalterStabosz上記はIISおよびIIS Express 7以降で機能します。IIS 6を使用している場合は、サーバーでMIMEタイプを構成する必要があります。IIS6でのMIMEタイプの構成を参照してください。
Martin Buberl 2013

59

エラー:一意のキー属性を持つタイプ「mimeMap」の重複するコレクションエントリを追加できない、またはこの修正を行うときに他のスクリプトが機能しなくなるなどのエラーで誰かがこれに遭遇した場合、最初に次のように削除すると役立つ可能性があります。

<staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>

少なくともそれで私の問題は解決しました


1
おかげで、展開時の安全性が
向上

3
これを、IISで気に入っている機能のリストに追加します。
QueueHammer 2014年

1
サーバーに既にMIMEタイプが含まれている場合、web.configでそれを指定すると、重複例外が発生する可能性があります。
マフィンマン

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

6

これは古い質問であることは知っていますが、...

IISExpressのインスタンスがwoffファイルを提供していないことに気づいただけだったので、検索しませんでした(これが見つかりました)。

http://www.tomasmcguinness.com/2011/07/06/adding-support-for-svg-to-iis-express/

私はインストールでSVGをサポートしていると思います。問題はなかったからです。ただし、この指示はwoffに対して簡単に変更できます。

  • 管理者権限を持つコンソールアプリケーションを開きます。
  • IIS Expressディレクトリへのナビゲーション。これはProgram FilesまたはProgram Files(x86)の下にあります。
  • 次のコマンドを実行します。

    appcmd set config / section:staticContent / + [fileExtension = 'woff'、mimeType = 'application / x-woff']

私の問題を解決し、いくつかの不必要な設定をいじる必要がなくなりました(PUTDELETE動詞のサポートを追加する必要があったように)。わーい!


4

この投稿をありがとう。私はこれを私のasp.net mvcプロジェクトでmoustacheテンプレートを使用するために機能させ、以下を使用しましたが、それは私のために機能しました。

<system.webServer>   
  <staticContent>
   <mimeMap fileExtension=".mustache" mimeType="text/html"/>
  </staticContent>
</system.WebServer>

3

IIS Expressを使用していませんが、ローカルのフルIIS 7に対して開発しています。

それで、誰かがここにそれをしようとしているなら、IIS Managerを介してwoffのMIMEタイプを追加する必要がありました。

MIMEタイプ>>右側の[リンクを追加]をクリックして、拡張子を入力します:.woff MIMEタイプ:application / font-woff


おかげで、プロジェクトを再び実行できるようになりました。IIS7.5では問題ありませんでしたが、Win8とIIS8を取得し、サイトのweb.configのマッピングがIIS構成と重複していたため、要求されている静的リソースでエラーが発生しました。重複を削除したところ、問題なく動作しています。
rdmptn 2013年

3

この問題を解決するには、左側のパネルでIISルートノードを選択した状態で[MIMEタイプ]構成オプションをダブルクリックし、右側の[アクション]パネルの[追加...]リンクをクリックします。これにより、次のダイアログが表示されます。.woffファイル拡張子を追加し、対応するMIMEタイプとして「application / x-font-woff」を指定します。

ここに画像の説明を入力してください

application / x-font-woff2を使用してwoff2についても同様に実行します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.