mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
corrections coming up. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@80130 13f79535-47bb-0310-9956-ffa450edef68
352 lines
12 KiB
HTML
352 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Apache module mod_mime</TITLE>
|
|
</HEAD>
|
|
|
|
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
|
<BODY
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#000080"
|
|
ALINK="#FF0000"
|
|
>
|
|
<!--#include virtual="header.html" -->
|
|
<H1 ALIGN="CENTER">Module mod_mime</H1>
|
|
|
|
This module is contained in the <CODE>mod_mime.c</CODE> file, and is
|
|
compiled in by default. It provides for determining the types of files
|
|
from the filename.
|
|
|
|
<H2>Summary</H2>
|
|
|
|
This module is used to determine various bits of "meta information"
|
|
about documents. This information relates to the content of the
|
|
document and is returned to the browser or used in content-negotiation
|
|
within the server. In addition, a "handler" can be set for a document,
|
|
which determines how the document will be processed within the server.
|
|
|
|
<P>
|
|
|
|
The directives <A HREF="#addencoding">AddEncoding</A>, <A
|
|
HREF="#addhandler">AddHandler</A>, <A
|
|
HREF="#addlanguage">AddLanguage</A> and <A HREF="#addtype">AddType</A>
|
|
are all used to map file extensions onto the meta-information for that
|
|
file. Respectively they set the content-encoding, handler,
|
|
content-language and mime-type (content-type) of documents. The
|
|
directive <A HREF="#typesconfig">TypesConfig</A> is used to specify a
|
|
file which also maps extensions onto mime types. The directives <A
|
|
HREF="#forcetype">ForceType</A> and <A
|
|
HREF="#sethandler">SetHandler</A> are used to associated all the files
|
|
in a given location (e.g. a particular directory) onto a particular
|
|
mime type or handler.
|
|
|
|
<P>
|
|
|
|
Files can have more than one extension, and the order of the
|
|
extensions is normally irrelevant. For example, if the file
|
|
<CODE>welcome.html.fr</CODE> maps onto content type text/html and
|
|
language French then the file <CODE>welcome.fr.html</CODE> will map
|
|
onto exactly the same information. The only exception to this is if an
|
|
extension is given which Apache does not know how to handle. In this
|
|
case it will "forget" about any information it obtained from
|
|
extensions to the left of the unknown extension. So, for example, if
|
|
the extensions fr and html are mapped to the appropriate language and
|
|
type but extension xxx is not assigned to anything, then the file
|
|
<CODE>welcome.fr.xxx.html</CODE> will be associated with content-type
|
|
text/html but <EM>no</EM> language.
|
|
|
|
<P>
|
|
|
|
Note that changing the type or encoding of a file does not change the
|
|
value of the <CODE>Last-Modified</CODE> header. Thus, previously cached
|
|
copies may still be used by a client or proxy, with the previous headers.
|
|
|
|
<P>
|
|
|
|
Please note that changing a file's type or encoding does not change
|
|
the value of the <CODE>Last-Modified</CODE> header. Previously cached
|
|
copies may still be used by a client or proxy.
|
|
|
|
<P>
|
|
|
|
<H2> Directives</H2>
|
|
<UL>
|
|
<LI><A HREF="#addencoding">AddEncoding</A>
|
|
<LI><A HREF="#addhandler">AddHandler</A>
|
|
<LI><A HREF="#addlanguage">AddLanguage</A>
|
|
<LI><A HREF="#addtype">AddType</A>
|
|
<LI><A HREF="#forcetype">ForceType</A>
|
|
<LI><A HREF="#sethandler">SetHandler</A>
|
|
<LI><A HREF="#typesconfig">TypesConfig</A>
|
|
</UL>
|
|
<HR>
|
|
|
|
|
|
<H2><A name="addencoding">AddEncoding</A></H2>
|
|
<!--%plaintext <?INDEX {\tt AddEncoding} directive> -->
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> AddEncoding <EM>mime-enc extension extension...</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> server config, virtual host, directory, .htaccess<BR>
|
|
<A
|
|
HREF="directive-dict.html#Override"
|
|
REL="Help"
|
|
><STRONG>Override:</STRONG></A> FileInfo<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<P>
|
|
|
|
The AddEncoding directive adds to the list of filename extensions which
|
|
filenames may end in for the specified encoding type. <EM>Mime-enc</EM>
|
|
is the mime encoding to use for documents ending in <EM>extension</EM>.
|
|
Example:
|
|
<BLOCKQUOTE><CODE>
|
|
AddEncoding x-gzip gz<BR>
|
|
AddEncoding x-compress Z
|
|
</CODE></BLOCKQUOTE>
|
|
|
|
This will cause files ending in .gz to be marked as encoded using the x-gzip
|
|
encoding, and .Z files to be marked as encoded with x-compress.<P><HR>
|
|
|
|
<H2><A name="addhandler">AddHandler</A></H2>
|
|
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> AddHandler <EM>handler-name extension extension...</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> server config, virtual host, directory, .htaccess<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<BR>
|
|
<A
|
|
HREF="directive-dict.html#Compatibility"
|
|
REL="Help"
|
|
><STRONG>Compatibility:</STRONG></A> AddHandler is only available in Apache
|
|
1.1 and later<P>
|
|
|
|
<P>AddHandler maps the filename extensions <EM>extension</EM> to the
|
|
<A HREF="../handler.html">handler</A>
|
|
<EM>handler-name</EM>. For example, to activate CGI scripts
|
|
with the file extension "<CODE>.cgi</CODE>", you might use:
|
|
<PRE>
|
|
AddHandler cgi-script cgi
|
|
</PRE>
|
|
|
|
<P>Once that has been put into your srm.conf or httpd.conf file, any
|
|
file ending with "<CODE>.cgi</CODE>" will be treated as a CGI
|
|
program.</P>
|
|
<HR>
|
|
|
|
<H2><A name="addlanguage">AddLanguage</A></H2>
|
|
<!--%plaintext <?INDEX {\tt AddLanguage} directive> -->
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> AddLanguage <EM>mime-lang extension extension...</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> server config, virtual host, directory, .htaccess<BR>
|
|
<A
|
|
HREF="directive-dict.html#Override"
|
|
REL="Help"
|
|
><STRONG>Override:</STRONG></A> FileInfo<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<P>
|
|
|
|
The AddLanguage directive adds to the list of filename extensions which
|
|
filenames may end in for the specified content language. <EM>Mime-lang</EM>
|
|
is the mime language of files with names ending <EM>extension</EM>,
|
|
after any content encoding extensions have been removed. Example:
|
|
<BLOCKQUOTE><CODE>
|
|
AddEncoding x-compress Z<BR>
|
|
AddLanguage en .en<BR>
|
|
AddLanguage fr .fr<BR>
|
|
</CODE></BLOCKQUOTE>
|
|
|
|
Then the document <CODE>xxxx.en.Z</CODE> will be treated as being a compressed
|
|
English document. Although the content language is reported to the client,
|
|
the browser is unlikely to use this information. The AddLanguage directive
|
|
is more useful for content negotiation, where the server returns one
|
|
from several documents based on the client's language preference.<P><HR>
|
|
|
|
<H2><A name="addtype">AddType</A></H2>
|
|
<!--%plaintext <?INDEX {\tt AddType} directive> -->
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> AddType <EM>mime-type extension extension...</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> server config, virtual host, directory, .htaccess<BR>
|
|
<A
|
|
HREF="directive-dict.html#Override"
|
|
REL="Help"
|
|
><STRONG>Override:</STRONG></A> FileInfo<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<P>
|
|
|
|
The AddType directive adds to the list of filename extensions which
|
|
filenames may end in for the specified content type. <EM>Mime-enc</EM>
|
|
is the mime type to use for documents ending in <EM>extension</EM>.
|
|
after content-encoding and language extensions have been removed. Example:
|
|
<BLOCKQUOTE><CODE>
|
|
AddType image/gif GIF
|
|
</CODE></BLOCKQUOTE>
|
|
It is recommended that new mime types be added using the AddType directive
|
|
rather than changing the <A HREF="#typesconfig">TypesConfig</A> file.<P>
|
|
Note that, unlike the NCSA httpd, this directive cannot be used to set the
|
|
type of particular files.<P><HR>
|
|
|
|
<H2><A name="forcetype">ForceType</A></H2>
|
|
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> ForceType <EM>media type</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> directory, .htaccess<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<BR>
|
|
<A
|
|
HREF="directive-dict.html#Compatibility"
|
|
REL="Help"
|
|
><STRONG>Compatibility:</STRONG></A> ForceType is only available in Apache
|
|
1.1 and later.<P>
|
|
|
|
<P>When placed into an <CODE>.htaccess</CODE> file or a
|
|
<CODE><Directory></CODE> or <CODE><Location></CODE> section,
|
|
this directive forces all matching files to be served
|
|
as the content type given by <EM>media type</EM>. For example, if you
|
|
had a directory full of GIF files, but did not want to label them all with
|
|
".gif", you might want to use:
|
|
<PRE>
|
|
ForceType image/gif
|
|
</PRE>
|
|
<P>Note that this will override any filename extensions that might
|
|
media type.</P>
|
|
|
|
<H2><A name="sethandler">SetHandler</A></H2>
|
|
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> SetHandler <EM>handler-name</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> directory, .htaccess<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<BR>
|
|
<A
|
|
HREF="directive-dict.html#Compatibility"
|
|
REL="Help"
|
|
><STRONG>Compatibility:</STRONG></A> SetHandler is only available in Apache
|
|
1.1 and later.<P>
|
|
|
|
<P>When placed into an <CODE>.htaccess</CODE> file or a
|
|
<CODE><Directory></CODE> or <CODE><Location></CODE> section,
|
|
this directive forces all matching files to be parsed through the
|
|
<A HREF="../handler.html">handler</A>
|
|
given by <EM>handler-name</EM>. For example, if you had a
|
|
directory you wanted to be parsed entirely as imagemap rule files,
|
|
regardless of extension, you might put the following into an
|
|
<CODE>.htaccess</CODE> file in that directory:
|
|
<PRE>
|
|
SetHandler imap-file
|
|
</PRE>
|
|
|
|
<P>Another example: if you wanted to have the server display a status
|
|
report whenever a URL of <CODE>http://servername/status</CODE> was
|
|
called, you might put the following into access.conf:
|
|
<PRE>
|
|
<Location /status>
|
|
SetHandler server-status
|
|
</Location>
|
|
</PRE>
|
|
<HR>
|
|
|
|
<H2><A name="typesconfig">TypesConfig</A></H2>
|
|
<!--%plaintext <?INDEX {\tt TypesConfig} directive> -->
|
|
<A
|
|
HREF="directive-dict.html#Syntax"
|
|
REL="Help"
|
|
><STRONG>Syntax:</STRONG></A> TypesConfig <EM>filename</EM><BR>
|
|
<A
|
|
HREF="directive-dict.html#Default"
|
|
REL="Help"
|
|
><STRONG>Default:</STRONG></A> <CODE>TypesConfig conf/mime.types</CODE><BR>
|
|
<A
|
|
HREF="directive-dict.html#Context"
|
|
REL="Help"
|
|
><STRONG>Context:</STRONG></A> server config<BR>
|
|
<A
|
|
HREF="directive-dict.html#Status"
|
|
REL="Help"
|
|
><STRONG>Status:</STRONG></A> Base<BR>
|
|
<A
|
|
HREF="directive-dict.html#Module"
|
|
REL="Help"
|
|
><STRONG>Module:</STRONG></A> mod_mime<P>
|
|
|
|
The TypesConfig directive sets the location of the mime types configuration
|
|
file. <EM>Filename</EM> is relative to the
|
|
<A HREF="core.html#serverroot">ServerRoot</A>. This file sets the default list of
|
|
mappings from filename extensions to content types; changing this file is not
|
|
recommended. Use the <A HREF="#addtype">AddType</A> directive instead. The
|
|
file contains lines in the format of the arguments to an AddType command:
|
|
<BLOCKQUOTE><EM>mime-type extension extension ...</EM></BLOCKQUOTE>
|
|
The extensions are lower-cased. Blank lines, and lines beginning with a hash
|
|
character (`#') are ignored.<P>
|
|
|
|
<!--#include virtual="footer.html" -->
|
|
</BODY>
|
|
</HTML>
|
|
|