🔣

IIS7.0 で SVG ファイルが表示されなかった

2017/04/21に公開

事象

IIS7.0 上のサイトで SVG 形式のファイル画像を使用したら表示されなかった。

代表的な解決策

  1. IIS で MIME の種類を追加
  2. Web.config 内に MIME の記述を追加

IIS での設定

  1. svg ファイルを利用したいサイトを選択
  2. MIME の種類を選択
  3. 右カラムの「追加」
  4. 後述の MIME の記述の内容をそれぞれに書いて OK を押す

Web.config での設定

  1. サイトのディレクトリ下にある Web.config ファイルを開く
  2. system.webServer > staticContent ディレクティブの下に以下の記述を書く
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />

もし system.webServerstaticContent もなければ、適当な位置に以下のように記述する

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
  </staticContent>
</system.webServer>

MIME の記述について

拡張子: .svg
MIME: image/svg+xml

参考

蛇足

理由は調べてないけれども、今回作業した環境では IIS 側で svg を設定すると、動的に出力していた画像が表示されなく (404) なるという不具合が発生した。
なので今回は Web.config に記述を追加した。
別な環境でやって見たところ、 IIS の設定でうまくいったのだけど、謎だ…。

Discussion