Sådan får du understøttelse nye MIME types via web.config

Der er ofte, specielt nu med HTML5 og CSS3, behov for brug af filtyper webserveren ikke genkender og det resulterer i en fejl “HTTP Error 404.3 – Not Found” hvilket fx betyder, at videoen eller fonten ikke vises korrekt.

Jeg har altid været vant til at løse dette ved at oprette de manglende MIME-types direkte på IIS web serveren, men selvom det virker helt efter hensigten er det ikke en specielt god løsning da det fx er let at glemme sådanne indstillinger ved flytning af et site ligesom det selvfølgelig heller ikke er alle steder man har direkte adgang til IIS.

Løsningen hedder web.config hvorigennem vi kan tilføje understøttelse for de filendelser vi har behov for – her et eksempel, hvor de nok mest almindelige video, lyd og fonte håndteres;

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".mp4" />
      <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
      <remove fileExtension=".m4v" />
      <mimeMap fileExtension=".m4v" mimeType="video/m4v" />
      <remove fileExtension=".ogg" />
      <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
      <remove fileExtension=".ogv" />
      <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
      <remove fileExtension=".webm" />
      <mimeMap fileExtension=".webm" mimeType="video/webm" />
      <remove fileExtension=".oga" />
      <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
      <remove fileExtension=".spx" />
      <mimeMap fileExtension=".spx" mimeType="audio/ogg" />
      <remove fileExtension=".svg" />
      <mimeMap fileExtension=".svg" mimeType="images/svg+xml" />
      <remove fileExtension=".svgz" />
      <mimeMap fileExtension=".svgz" mimeType="images/svg+xml" />
      <remove fileExtension=".eot" />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <remove fileExtension=".otf" />
      <mimeMap fileExtension=".otf" mimeType="application/x-opentype " />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    </staticContent>
  </system.webServer>
</configuration>