# ######################################################################
# # GENERAL                                                            #
# ######################################################################

# ----------------------------------------------------------------------
# | Cross origin                                                       |
# ----------------------------------------------------------------------

# <IfModule mod_setenvif.c>
#   <IfModule mod_headers.c>
#     <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
#       SetEnvIf Origin ":" IS_CORS
#       Header set Access-Control-Allow-Origin "*" env=IS_CORS
#     </FilesMatch>
#   </IfModule>
# </IfModule>
# 
# <IfModule mod_headers.c>
#   <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
#     Header set Access-Control-Allow-Origin "*"
#   </FilesMatch>
# </IfModule>

# ----------------------------------------------------------------------
# | Internet explorer                                                  |
# ----------------------------------------------------------------------

<IfModule mod_headers.c>
  Header set X-UA-Compatible "IE=edge"
  <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>

# ----------------------------------------------------------------------
# | Media types                                                        |
# ----------------------------------------------------------------------

<IfModule mod_mime.c>

  # Data interchange
  AddType application/atom+xml                        atom
  AddType application/json                            json map topojson
  AddType application/ld+json                         jsonld
  AddType application/rss+xml                         rss
  AddType application/vnd.geo+json                    geojson
  AddType application/xml                             rdf xml

  # JavaScript
  # Normalize to standard type.
  # https://tools.ietf.org/html/rfc4329#section-7.2
  AddType application/javascript                      js

  # Manifest files
  AddType application/manifest+json                   webmanifest
  AddType application/x-web-app-manifest+json         webapp
  AddType text/cache-manifest                         appcache

  # Media files
  AddType audio/mp4                                   f4a f4b m4a
  AddType audio/ogg                                   oga ogg opus
  AddType image/bmp                                   bmp
  AddType image/svg+xml                               svg svgz
  AddType image/webp                                  webp
  AddType video/mp4                                   f4v f4p m4v mp4
  AddType video/ogg                                   ogv
  AddType video/webm                                  webm
  AddType video/x-flv                                 flv

  # .ico Files
  AddType image/x-icon                                cur ico

  # Web fonts
  AddType application/font-woff                       woff
  AddType application/font-woff2                      woff2
  AddType application/vnd.ms-fontobject               eot
  AddType application/x-font-ttf                      ttc ttf
  AddType font/opentype                               otf

  # Other
  AddType application/octet-stream                    safariextz
  AddType application/x-bb-appworld                   bbaw
  AddType application/x-chrome-extension              crx
  AddType application/x-opera-extension               oex
  AddType application/x-xpinstall                     xpi
  AddType text/vcard                                  vcard vcf
  AddType text/vnd.rim.location.xloc                  xloc
  AddType text/vtt                                    vtt
  AddType text/x-component                            htc
</IfModule>

# ----------------------------------------------------------------------
# | Character encoding                                                 |
# ----------------------------------------------------------------------

AddDefaultCharset utf-8

<IfModule mod_mime.c>
  AddCharset utf-8 .atom \
  .bbaw \
  .css \
  .geojson \
  .js \
  .json \
  .jsonld \
  .manifest \
  .rdf \
  .rss \
  .topojson \
  .vtt \
  .webapp \
  .webmanifest \
  .xloc \
  .xml
</IfModule>
