<p>This module is used to associate various bits of "meta
information" with files by their filename extensions. This
information relates the filename of the document to it's
mime-type, language, character set and encoding. This
information is sent to the browser, and participates in content
negotiation, so the user's preferences are respected when
choosing one of several possible files to serve. See
<code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> for more information
about <a href="../content-negotiation.html">content negotiation</a>.</p>
<p>The directives <code class="directive"><a href="#addcharset">AddCharset</a></code>, <code class="directive"><a href="#addencoding">AddEncoding</a></code>, <code class="directive"><a href="#addlanguage">AddLanguage</a></code> and <code class="directive"><a href="#addtype">AddType</a></code> are all used to map file
extensions onto the meta-information for that file. Respectively
they set the character set, content-encoding, content-language,
and MIME-type (content-type) of documents. The directive <code class="directive"><a href="#typesconfig">TypesConfig</a></code> is used to specify a
file which also maps extensions onto MIME types. </p>
<p>In addition, <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> may define the <a href="../handler.html">handler</a> and <a href="../filter.html">filters</a> that originate and process
content. The directives <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code>, and <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> control the modules
or scripts that serve the document. The <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> directive allows
<code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> to consider these file extensions
to be included when testing Multiviews matches.</p>
with filename extensions, the <code class="module"><a href="../mod/core.html">core</a></code> server
provides directives that are used to associate all the files in a
given container (<em>e.g.</em>, <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, or <code class="directive"><a href="../mod/core.html#files"><Files></a></code>) with particular
meta-information. These directives include <code class="directive"><a href="../mod/core.html#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, and <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>. The core directives
override any filename extension mappings defined in
(and extensions listed in the <code class="directive"><a href="../mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code>) participate in this select process.
Filename extensions that are only associated using the <code class="directive"><a href="#addhandler">AddHandler</a></code>, <code class="directive"><a href="#addinputfilter">AddInputFilter</a></code> or <code class="directive"><a href="#addoutputfilter">AddOutputFilter</a></code> directives may be included or excluded
from matching by using the <code class="directive"><a href="#multiviewsmatch">MultiviewsMatch</a></code> directive.</p>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>AddOutputFilter is only available in Apache 2.0.26 and
later.</td></tr>
</table>
<p>The <code class="directive">AddOutputFilter</code> directive maps the
filename extension <var>extension</var> to the <a href="../filter.html">filters</a> which will process responses
from the server before they are sent to the client. This is in
addition to any filters defined elsewhere, including <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> and <code class="directive"><a href="../mod/core.html#addoutputfilterbytype">AddOutputFilterByType</a></code> directive. This mapping is merged
over any already in force, overriding any mappings that already exist
for the same <var>extension</var>.</p>
<p>For example, the following configuration will process all
<code>.shtml</code> files for server-side includes and will then
compress the output using <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p>
<div class="example"><p><code>
AddOutputFilter INCLUDES;DEFLATE shtml
</code></p></div>
<p>If more than one filter is specified, they must be separated
by semicolons in the order in which they should process the
content. Both the <var>filter</var> and <var>extension</var> arguments
are case-insensitive, and the extension may be specified with or
that all files in the directive's scope (<em>e.g.</em>, all files
covered by the current <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> container) that don't have an explicit language
extension (such as <code>.fr</code> or <code>.de</code> as configured
by <code class="directive"><a href="#addlanguage">AddLanguage</a></code>) should be
considered to be in the specified <var>MIME-lang</var> language. This
allows entire directories to be marked as containing Dutch content, for
instance, without having to rename each file. Note that unlike using
extensions to specify languages, <code class="directive">DefaultLanguage</code>
can only specify a single language.</p>
<p>If no <code class="directive">DefaultLanguage</code> directive is in force,
and a file does not have any language extensions as configured
by <code class="directive"><a href="#addlanguage">AddLanguage</a></code>, then that file
will be considered to have no language attribute.</p>
<p>The <code class="directive">TypesConfig</code> directive sets the location
of the MIME types configuration file. <var>File-path</var> is relative
to the <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>. This file sets
the default list of mappings from filename extensions to content
types. Most administrators use the provided <code>mime.types</code>
file, which associates common filename extensions with IANA registered
content types. The current list is maintained at <a href="http://www.isi.edu/in-notes/iana/assignments/media-types/media-types">http://www.isi.edu/in-notes/iana/assignments/media-types/media-types</a>.
This simplifies the <code>httpd.conf</code> file by providing the
majority of media-type definitions, and may be overridden by
<code class="directive"><a href="#addtype">AddType</a></code> directives as
needed. You should not edit the <code>mime.types</code> file, because
it may be replaced when you upgrade your server.</p>
<p>The file contains lines in the format of the arguments to
an <code class="directive"><a href="#addtype">AddType</a></code> directive:</p>
<div class="example"><p><code>
<var>MIME-type</var> [<var>extension</var>] ...
</code></p></div>
<p>The case of the extension does not matter. Blank lines, and lines
beginning with a hash character (<code>#</code>) are ignored.</p>
<div class="note">
Please do <strong>not</strong> send requests to the Apache HTTP
Server Project to add any new entries in the distributed
<code>mime.types</code> file unless (1) they are already
registered with IANA, and (2) they use widely accepted,
non-conflicting filename extensions across platforms.
<code>category/x-subtype</code> requests will be automatically
rejected, as will any new two-letter extensions as they will
likely conflict later with the already crowded language and