mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
Another pass at the normalisation of the HTML tags. Some
corrections coming up. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@80130 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Setting which addresses and ports Apache uses</H1>
|
<H1 ALIGN="CENTER">Setting which addresses and ports Apache uses</H1>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ and ports Apache listens to.
|
|||||||
to more than one address and/or port.
|
to more than one address and/or port.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="bindaddress">BindAddress</A></h3>
|
<H3><A name="bindaddress">BindAddress</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -59,7 +59,7 @@ is *, the server listens to all addresses. The port listened to
|
|||||||
is set with the <TT>Port</TT> directive. Only one BindAddress
|
is set with the <TT>Port</TT> directive. Only one BindAddress
|
||||||
should be used.
|
should be used.
|
||||||
|
|
||||||
<h3><A name="listen">Listen</A></h3>
|
<H3><A name="listen">Listen</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -102,7 +102,7 @@ interfaces and port numbers, use
|
|||||||
Listen 192.170.2.5:8000
|
Listen 192.170.2.5:8000
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h2>How this works with Virtual Hosts</h2>
|
<H2>How this works with Virtual Hosts</H2>
|
||||||
|
|
||||||
BindAddress and Listen do not implement Virtual Hosts. They tell the
|
BindAddress and Listen do not implement Virtual Hosts. They tell the
|
||||||
main server what addresses and ports to listen to. If no
|
main server what addresses and ports to listen to. If no
|
||||||
@@ -116,7 +116,7 @@ and port to set the behavior of this virtual host. Note that if the
|
|||||||
<VirtualHost> is set for an address and port that the server is
|
<VirtualHost> is set for an address and port that the server is
|
||||||
not listening to, it cannot be accessed.
|
not listening to, it cannot be accessed.
|
||||||
|
|
||||||
<h2>See also</h2>
|
<H2>See also</H2>
|
||||||
|
|
||||||
See also the documentation on
|
See also the documentation on
|
||||||
<A HREF="vhosts/index.html">Virtual Hosts</A>,
|
<A HREF="vhosts/index.html">Virtual Hosts</A>,
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Setting which addresses and ports Apache uses</H1>
|
<H1 ALIGN="CENTER">Setting which addresses and ports Apache uses</H1>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ and ports Apache listens to.
|
|||||||
to more than one address and/or port.
|
to more than one address and/or port.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="bindaddress">BindAddress</A></h3>
|
<H3><A name="bindaddress">BindAddress</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -59,7 +59,7 @@ is *, the server listens to all addresses. The port listened to
|
|||||||
is set with the <TT>Port</TT> directive. Only one BindAddress
|
is set with the <TT>Port</TT> directive. Only one BindAddress
|
||||||
should be used.
|
should be used.
|
||||||
|
|
||||||
<h3><A name="listen">Listen</A></h3>
|
<H3><A name="listen">Listen</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -102,7 +102,7 @@ interfaces and port numbers, use
|
|||||||
Listen 192.170.2.5:8000
|
Listen 192.170.2.5:8000
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h2>How this works with Virtual Hosts</h2>
|
<H2>How this works with Virtual Hosts</H2>
|
||||||
|
|
||||||
BindAddress and Listen do not implement Virtual Hosts. They tell the
|
BindAddress and Listen do not implement Virtual Hosts. They tell the
|
||||||
main server what addresses and ports to listen to. If no
|
main server what addresses and ports to listen to. If no
|
||||||
@@ -116,7 +116,7 @@ and port to set the behavior of this virtual host. Note that if the
|
|||||||
<VirtualHost> is set for an address and port that the server is
|
<VirtualHost> is set for an address and port that the server is
|
||||||
not listening to, it cannot be accessed.
|
not listening to, it cannot be accessed.
|
||||||
|
|
||||||
<h2>See also</h2>
|
<H2>See also</H2>
|
||||||
|
|
||||||
See also the documentation on
|
See also the documentation on
|
||||||
<A HREF="vhosts/index.html">Virtual Hosts</A>,
|
<A HREF="vhosts/index.html">Virtual Hosts</A>,
|
||||||
|
@@ -12,11 +12,11 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">PATH_INFO Changes in the CGI Environment</H1>
|
<H1 ALIGN="CENTER">PATH_INFO Changes in the CGI Environment</H1>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="over">Overview</A></h2>
|
<H2><A name="over">Overview</A></H2>
|
||||||
|
|
||||||
<P>As implemented in Apache 1.1.1 and earlier versions, the method
|
<P>As implemented in Apache 1.1.1 and earlier versions, the method
|
||||||
Apache used to create PATH_INFO in the CGI environment was
|
Apache used to create PATH_INFO in the CGI environment was
|
||||||
@@ -27,7 +27,7 @@ applications, the Apache 1.2 behavior is still compatible with the
|
|||||||
CGI/1.1 specification, and CGI scripts can be easily modified (<A
|
CGI/1.1 specification, and CGI scripts can be easily modified (<A
|
||||||
HREF="#compat">see below</A>).
|
HREF="#compat">see below</A>).
|
||||||
|
|
||||||
<h2><A name="prob">The Problem</A></h2>
|
<H2><A name="prob">The Problem</A></H2>
|
||||||
|
|
||||||
<P>Apache 1.1.1 and earlier implemented the PATH_INFO and SCRIPT_NAME
|
<P>Apache 1.1.1 and earlier implemented the PATH_INFO and SCRIPT_NAME
|
||||||
environment variables by looking at the filename, not the URL. While
|
environment variables by looking at the filename, not the URL. While
|
||||||
@@ -46,7 +46,7 @@ SCRIPT_NAME to "<CODE>/cgi-</CODE>". Obviously, the latter is
|
|||||||
incorrect. In certain cases, this could even cause the server to
|
incorrect. In certain cases, this could even cause the server to
|
||||||
crash.</P>
|
crash.</P>
|
||||||
|
|
||||||
<h2><A name="solution">The Solution</A></h2>
|
<H2><A name="solution">The Solution</A></H2>
|
||||||
|
|
||||||
<P>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO by
|
<P>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO by
|
||||||
looking directly at the URL, and determining how much of the URL is
|
looking directly at the URL, and determining how much of the URL is
|
||||||
@@ -67,7 +67,7 @@ sort of information is not a recommended method, and a script making
|
|||||||
use of it "deserves" not to work. Apache 1.2b3 and later, however, do
|
use of it "deserves" not to work. Apache 1.2b3 and later, however, do
|
||||||
provide <A HREF="#compat">a workaround.</A>
|
provide <A HREF="#compat">a workaround.</A>
|
||||||
|
|
||||||
<h2><A name="compat">Compatibility with Previous Servers</A></h2>
|
<H2><A name="compat">Compatibility with Previous Servers</A></H2>
|
||||||
|
|
||||||
<P>It may be necessary for a script that was designed for earlier
|
<P>It may be necessary for a script that was designed for earlier
|
||||||
versions of Apache or other servers to need the information that the
|
versions of Apache or other servers to need the information that the
|
||||||
|
@@ -12,11 +12,11 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">PATH_INFO Changes in the CGI Environment</H1>
|
<H1 ALIGN="CENTER">PATH_INFO Changes in the CGI Environment</H1>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="over">Overview</A></h2>
|
<H2><A name="over">Overview</A></H2>
|
||||||
|
|
||||||
<P>As implemented in Apache 1.1.1 and earlier versions, the method
|
<P>As implemented in Apache 1.1.1 and earlier versions, the method
|
||||||
Apache used to create PATH_INFO in the CGI environment was
|
Apache used to create PATH_INFO in the CGI environment was
|
||||||
@@ -27,7 +27,7 @@ applications, the Apache 1.2 behavior is still compatible with the
|
|||||||
CGI/1.1 specification, and CGI scripts can be easily modified (<A
|
CGI/1.1 specification, and CGI scripts can be easily modified (<A
|
||||||
HREF="#compat">see below</A>).
|
HREF="#compat">see below</A>).
|
||||||
|
|
||||||
<h2><A name="prob">The Problem</A></h2>
|
<H2><A name="prob">The Problem</A></H2>
|
||||||
|
|
||||||
<P>Apache 1.1.1 and earlier implemented the PATH_INFO and SCRIPT_NAME
|
<P>Apache 1.1.1 and earlier implemented the PATH_INFO and SCRIPT_NAME
|
||||||
environment variables by looking at the filename, not the URL. While
|
environment variables by looking at the filename, not the URL. While
|
||||||
@@ -46,7 +46,7 @@ SCRIPT_NAME to "<CODE>/cgi-</CODE>". Obviously, the latter is
|
|||||||
incorrect. In certain cases, this could even cause the server to
|
incorrect. In certain cases, this could even cause the server to
|
||||||
crash.</P>
|
crash.</P>
|
||||||
|
|
||||||
<h2><A name="solution">The Solution</A></h2>
|
<H2><A name="solution">The Solution</A></H2>
|
||||||
|
|
||||||
<P>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO by
|
<P>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO by
|
||||||
looking directly at the URL, and determining how much of the URL is
|
looking directly at the URL, and determining how much of the URL is
|
||||||
@@ -67,7 +67,7 @@ sort of information is not a recommended method, and a script making
|
|||||||
use of it "deserves" not to work. Apache 1.2b3 and later, however, do
|
use of it "deserves" not to work. Apache 1.2b3 and later, however, do
|
||||||
provide <A HREF="#compat">a workaround.</A>
|
provide <A HREF="#compat">a workaround.</A>
|
||||||
|
|
||||||
<h2><A name="compat">Compatibility with Previous Servers</A></h2>
|
<H2><A name="compat">Compatibility with Previous Servers</A></H2>
|
||||||
|
|
||||||
<P>It may be necessary for a script that was designed for earlier
|
<P>It may be necessary for a script that was designed for earlier
|
||||||
versions of Apache or other servers to need the information that the
|
versions of Apache or other servers to need the information that the
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Content Negotiation</H1>
|
<H1 ALIGN="CENTER">Content Negotiation</H1>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Apache's support for content negotiation has been updated to meet the
|
Apache's support for content negotiation has been updated to meet the
|
||||||
@@ -29,7 +29,7 @@ which is compiled in by default.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>About Content Negotiation</h2>
|
<H2>About Content Negotiation</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
A resource may be available in several different representations. For
|
A resource may be available in several different representations. For
|
||||||
@@ -77,7 +77,7 @@ available in several formats, these are called <STRONG>representations</STRONG>
|
|||||||
or <STRONG>variants</STRONG>. The ways in which the variants for a particular
|
or <STRONG>variants</STRONG>. The ways in which the variants for a particular
|
||||||
resource vary are called the <STRONG>dimensions</STRONG> of negotiation.
|
resource vary are called the <STRONG>dimensions</STRONG> of negotiation.
|
||||||
|
|
||||||
<h2>Negotiation in Apache</h2>
|
<H2>Negotiation in Apache</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
In order to negotiate a resource, the server needs to be given
|
In order to negotiate a resource, the server needs to be given
|
||||||
@@ -91,7 +91,7 @@ ways:
|
|||||||
filename pattern match, and chooses from among the results.
|
filename pattern match, and chooses from among the results.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3>Using a type-map file</h3>
|
<H3>Using a type-map file</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
A type map is a document which is associated with the handler
|
A type map is a document which is associated with the handler
|
||||||
@@ -182,7 +182,7 @@ The full list of headers recognized is:
|
|||||||
thresholds without checking the actual file.
|
thresholds without checking the actual file.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h3>Multiviews</h3>
|
<H3>Multiviews</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
This is a per-directory option, meaning it can be set with an
|
This is a per-directory option, meaning it can be set with an
|
||||||
@@ -229,7 +229,7 @@ rating, and generally invoked; otherwise it is given an extremely low
|
|||||||
quality rating, which generally causes one of the other views (if any)
|
quality rating, which generally causes one of the other views (if any)
|
||||||
to be retrieved.
|
to be retrieved.
|
||||||
|
|
||||||
<h2>The Negotiation Algorithm</h2>
|
<H2>The Negotiation Algorithm</H2>
|
||||||
|
|
||||||
After Apache has obtained a list of the variants for a given resource,
|
After Apache has obtained a list of the variants for a given resource,
|
||||||
either from a type-map file or from the filenames in the directory, it
|
either from a type-map file or from the filenames in the directory, it
|
||||||
@@ -244,7 +244,7 @@ In some circumstances, Apache can 'fiddle' the quality factor of a
|
|||||||
particular dimension to achieve a better result. The ways Apache can
|
particular dimension to achieve a better result. The ways Apache can
|
||||||
fiddle quality factors is explained in more detail below.
|
fiddle quality factors is explained in more detail below.
|
||||||
|
|
||||||
<h3>Dimensions of Negotiation</h3>
|
<H3>Dimensions of Negotiation</H3>
|
||||||
|
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<TR><TH>Dimension
|
<TR><TH>Dimension
|
||||||
@@ -265,7 +265,7 @@ or more languages.
|
|||||||
can indicate a charset as a parameter of the media type.
|
can indicate a charset as a parameter of the media type.
|
||||||
</TABLE>
|
</TABLE>
|
||||||
|
|
||||||
<h3>Apache Negotiation Algorithm</h3>
|
<H3>Apache Negotiation Algorithm</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Apache uses an algorithm to select the 'best' variant (if any) to
|
Apache uses an algorithm to select the 'best' variant (if any) to
|
||||||
@@ -330,7 +330,7 @@ and go to stage 3.
|
|||||||
|
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
<h2><A name="better">Fiddling with Quality Values</A></h2>
|
<H2><A name="better">Fiddling with Quality Values</A></H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Apache sometimes changes the quality values from what would be
|
Apache sometimes changes the quality values from what would be
|
||||||
@@ -343,7 +343,7 @@ sends full and correct information these fiddles will not
|
|||||||
be applied.
|
be applied.
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>Media Types and Wildcards</h3>
|
<H3>Media Types and Wildcards</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
The Accept: request header indicates preferences for media types. It
|
The Accept: request header indicates preferences for media types. It
|
||||||
@@ -386,7 +386,7 @@ behavior. It also sets the q value of wildcards of the format
|
|||||||
these special values are <EM>not</EM> applied, so requests from browsers
|
these special values are <EM>not</EM> applied, so requests from browsers
|
||||||
which send the correct information to start with work as expected.
|
which send the correct information to start with work as expected.
|
||||||
|
|
||||||
<h3>Variants with no Language</h3>
|
<H3>Variants with no Language</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
If some of the variants for a particular resource have a language
|
If some of the variants for a particular resource have a language
|
||||||
@@ -413,7 +413,7 @@ header includes either en or fr (or both) one of foo.en.html
|
|||||||
or foo.fr.html will be returned. If the browser does not list
|
or foo.fr.html will be returned. If the browser does not list
|
||||||
either en or fr as acceptable, foo.html will be returned instead.
|
either en or fr as acceptable, foo.html will be returned instead.
|
||||||
|
|
||||||
<h2>Note on hyperlinks and naming conventions</h2>
|
<H2>Note on hyperlinks and naming conventions</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
If you are using language negotiation you can choose between
|
If you are using language negotiation you can choose between
|
||||||
@@ -500,7 +500,7 @@ if there is one) must be on the right hand side of the mime-type extension
|
|||||||
(e.g. <SAMP>foo.html.en</SAMP>).
|
(e.g. <SAMP>foo.html.en</SAMP>).
|
||||||
|
|
||||||
|
|
||||||
<h2>Note on Caching</h2>
|
<H2>Note on Caching</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
When a cache stores a document, it associates it with the request URL.
|
When a cache stores a document, it associates it with the request URL.
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Content Negotiation</H1>
|
<H1 ALIGN="CENTER">Content Negotiation</H1>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Apache's support for content negotiation has been updated to meet the
|
Apache's support for content negotiation has been updated to meet the
|
||||||
@@ -29,7 +29,7 @@ which is compiled in by default.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>About Content Negotiation</h2>
|
<H2>About Content Negotiation</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
A resource may be available in several different representations. For
|
A resource may be available in several different representations. For
|
||||||
@@ -77,7 +77,7 @@ available in several formats, these are called <STRONG>representations</STRONG>
|
|||||||
or <STRONG>variants</STRONG>. The ways in which the variants for a particular
|
or <STRONG>variants</STRONG>. The ways in which the variants for a particular
|
||||||
resource vary are called the <STRONG>dimensions</STRONG> of negotiation.
|
resource vary are called the <STRONG>dimensions</STRONG> of negotiation.
|
||||||
|
|
||||||
<h2>Negotiation in Apache</h2>
|
<H2>Negotiation in Apache</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
In order to negotiate a resource, the server needs to be given
|
In order to negotiate a resource, the server needs to be given
|
||||||
@@ -91,7 +91,7 @@ ways:
|
|||||||
filename pattern match, and chooses from among the results.
|
filename pattern match, and chooses from among the results.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3>Using a type-map file</h3>
|
<H3>Using a type-map file</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
A type map is a document which is associated with the handler
|
A type map is a document which is associated with the handler
|
||||||
@@ -182,7 +182,7 @@ The full list of headers recognized is:
|
|||||||
thresholds without checking the actual file.
|
thresholds without checking the actual file.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h3>Multiviews</h3>
|
<H3>Multiviews</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
This is a per-directory option, meaning it can be set with an
|
This is a per-directory option, meaning it can be set with an
|
||||||
@@ -229,7 +229,7 @@ rating, and generally invoked; otherwise it is given an extremely low
|
|||||||
quality rating, which generally causes one of the other views (if any)
|
quality rating, which generally causes one of the other views (if any)
|
||||||
to be retrieved.
|
to be retrieved.
|
||||||
|
|
||||||
<h2>The Negotiation Algorithm</h2>
|
<H2>The Negotiation Algorithm</H2>
|
||||||
|
|
||||||
After Apache has obtained a list of the variants for a given resource,
|
After Apache has obtained a list of the variants for a given resource,
|
||||||
either from a type-map file or from the filenames in the directory, it
|
either from a type-map file or from the filenames in the directory, it
|
||||||
@@ -244,7 +244,7 @@ In some circumstances, Apache can 'fiddle' the quality factor of a
|
|||||||
particular dimension to achieve a better result. The ways Apache can
|
particular dimension to achieve a better result. The ways Apache can
|
||||||
fiddle quality factors is explained in more detail below.
|
fiddle quality factors is explained in more detail below.
|
||||||
|
|
||||||
<h3>Dimensions of Negotiation</h3>
|
<H3>Dimensions of Negotiation</H3>
|
||||||
|
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<TR><TH>Dimension
|
<TR><TH>Dimension
|
||||||
@@ -265,7 +265,7 @@ or more languages.
|
|||||||
can indicate a charset as a parameter of the media type.
|
can indicate a charset as a parameter of the media type.
|
||||||
</TABLE>
|
</TABLE>
|
||||||
|
|
||||||
<h3>Apache Negotiation Algorithm</h3>
|
<H3>Apache Negotiation Algorithm</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Apache uses an algorithm to select the 'best' variant (if any) to
|
Apache uses an algorithm to select the 'best' variant (if any) to
|
||||||
@@ -330,7 +330,7 @@ and go to stage 3.
|
|||||||
|
|
||||||
</OL>
|
</OL>
|
||||||
|
|
||||||
<h2><A name="better">Fiddling with Quality Values</A></h2>
|
<H2><A name="better">Fiddling with Quality Values</A></H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
Apache sometimes changes the quality values from what would be
|
Apache sometimes changes the quality values from what would be
|
||||||
@@ -343,7 +343,7 @@ sends full and correct information these fiddles will not
|
|||||||
be applied.
|
be applied.
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>Media Types and Wildcards</h3>
|
<H3>Media Types and Wildcards</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
The Accept: request header indicates preferences for media types. It
|
The Accept: request header indicates preferences for media types. It
|
||||||
@@ -386,7 +386,7 @@ behavior. It also sets the q value of wildcards of the format
|
|||||||
these special values are <EM>not</EM> applied, so requests from browsers
|
these special values are <EM>not</EM> applied, so requests from browsers
|
||||||
which send the correct information to start with work as expected.
|
which send the correct information to start with work as expected.
|
||||||
|
|
||||||
<h3>Variants with no Language</h3>
|
<H3>Variants with no Language</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
If some of the variants for a particular resource have a language
|
If some of the variants for a particular resource have a language
|
||||||
@@ -413,7 +413,7 @@ header includes either en or fr (or both) one of foo.en.html
|
|||||||
or foo.fr.html will be returned. If the browser does not list
|
or foo.fr.html will be returned. If the browser does not list
|
||||||
either en or fr as acceptable, foo.html will be returned instead.
|
either en or fr as acceptable, foo.html will be returned instead.
|
||||||
|
|
||||||
<h2>Note on hyperlinks and naming conventions</h2>
|
<H2>Note on hyperlinks and naming conventions</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
If you are using language negotiation you can choose between
|
If you are using language negotiation you can choose between
|
||||||
@@ -500,7 +500,7 @@ if there is one) must be on the right hand side of the mime-type extension
|
|||||||
(e.g. <SAMP>foo.html.en</SAMP>).
|
(e.g. <SAMP>foo.html.en</SAMP>).
|
||||||
|
|
||||||
|
|
||||||
<h2>Note on Caching</h2>
|
<H2>Note on Caching</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
When a cache stores a document, it associates it with the request URL.
|
When a cache stores a document, it associates it with the request URL.
|
||||||
|
@@ -114,7 +114,7 @@ ErrorDocument 401 /Subscription/how_to_subscribe.html
|
|||||||
|
|
||||||
<P><HR><P>
|
<P><HR><P>
|
||||||
|
|
||||||
<h2>Custom error responses and redirects</H2>
|
<H2>Custom error responses and redirects</H2>
|
||||||
|
|
||||||
<DL>
|
<DL>
|
||||||
|
|
||||||
|
@@ -114,7 +114,7 @@ ErrorDocument 401 /Subscription/how_to_subscribe.html
|
|||||||
|
|
||||||
<P><HR><P>
|
<P><HR><P>
|
||||||
|
|
||||||
<h2>Custom error responses and redirects</H2>
|
<H2>Custom error responses and redirects</H2>
|
||||||
|
|
||||||
<DL>
|
<DL>
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache API notes</H1>
|
<H1 ALIGN="CENTER">Apache API notes</H1>
|
||||||
|
|
||||||
These are some notes on the Apache API and the data structures you
|
These are some notes on the Apache API and the data structures you
|
||||||
have to deal with, etc. They are not yet nearly complete, but
|
have to deal with, etc. They are not yet nearly complete, but
|
||||||
@@ -57,12 +57,12 @@ coming up, and in what order:
|
|||||||
</MENU>
|
</MENU>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2><A name="basics">Basic concepts.</A></h2>
|
<H2><A name="basics">Basic concepts.</A></H2>
|
||||||
|
|
||||||
We begin with an overview of the basic concepts behind the
|
We begin with an overview of the basic concepts behind the
|
||||||
API, and how they are manifested in the code.
|
API, and how they are manifested in the code.
|
||||||
|
|
||||||
<h3><A name="HMR">Handlers, Modules, and Requests</A></h3>
|
<H3><A name="HMR">Handlers, Modules, and Requests</A></H3>
|
||||||
|
|
||||||
Apache breaks down request handling into a series of steps, more or
|
Apache breaks down request handling into a series of steps, more or
|
||||||
less the same way the Netscape server API does (although this API has
|
less the same way the Netscape server API does (although this API has
|
||||||
@@ -116,7 +116,7 @@ The handlers themselves are functions of one argument (a
|
|||||||
<CODE>request_rec</CODE> structure. vide infra), which returns an
|
<CODE>request_rec</CODE> structure. vide infra), which returns an
|
||||||
integer, as above.<P>
|
integer, as above.<P>
|
||||||
|
|
||||||
<h3><A name="moduletour">A brief tour of a module</A></h3>
|
<H3><A name="moduletour">A brief tour of a module</A></H3>
|
||||||
|
|
||||||
At this point, we need to explain the structure of a module. Our
|
At this point, we need to explain the structure of a module. Our
|
||||||
candidate will be one of the messier ones, the CGI module --- this
|
candidate will be one of the messier ones, the CGI module --- this
|
||||||
@@ -215,14 +215,14 @@ module cgi_module = {
|
|||||||
};
|
};
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h2><A name="handlers">How handlers work</A></h2>
|
<H2><A name="handlers">How handlers work</A></H2>
|
||||||
|
|
||||||
The sole argument to handlers is a <CODE>request_rec</CODE> structure.
|
The sole argument to handlers is a <CODE>request_rec</CODE> structure.
|
||||||
This structure describes a particular request which has been made to
|
This structure describes a particular request which has been made to
|
||||||
the server, on behalf of a client. In most cases, each connection to
|
the server, on behalf of a client. In most cases, each connection to
|
||||||
the client generates only one <CODE>request_rec</CODE> structure.<P>
|
the client generates only one <CODE>request_rec</CODE> structure.<P>
|
||||||
|
|
||||||
<h3><A name="req_tour">A brief tour of the <CODE>request_rec</CODE></A></h3>
|
<H3><A name="req_tour">A brief tour of the <CODE>request_rec</CODE></A></H3>
|
||||||
|
|
||||||
The <CODE>request_rec</CODE> contains pointers to a resource pool
|
The <CODE>request_rec</CODE> contains pointers to a resource pool
|
||||||
which will be cleared when the server is finished handling the
|
which will be cleared when the server is finished handling the
|
||||||
@@ -329,7 +329,7 @@ struct request_rec {
|
|||||||
|
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h3><A name="req_orig">Where request_rec structures come from</A></h3>
|
<H3><A name="req_orig">Where request_rec structures come from</A></H3>
|
||||||
|
|
||||||
Most <CODE>request_rec</CODE> structures are built by reading an HTTP
|
Most <CODE>request_rec</CODE> structures are built by reading an HTTP
|
||||||
request from a client, and filling in the fields. However, there are
|
request from a client, and filling in the fields. However, there are
|
||||||
@@ -370,7 +370,7 @@ a few exceptions:
|
|||||||
function <CODE>run_sub_request</CODE>).
|
function <CODE>run_sub_request</CODE>).
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="req_return">Handling requests, declining, and returning error codes</A></h3>
|
<H3><A name="req_return">Handling requests, declining, and returning error codes</A></H3>
|
||||||
|
|
||||||
As discussed above, each handler, when invoked to handle a particular
|
As discussed above, each handler, when invoked to handle a particular
|
||||||
<CODE>request_rec</CODE>, has to return an <CODE>int</CODE> to
|
<CODE>request_rec</CODE>, has to return an <CODE>int</CODE> to
|
||||||
@@ -389,7 +389,7 @@ the module should put a <CODE>Location</CODE> in the request's
|
|||||||
<CODE>headers_out</CODE>, to indicate where the client should be
|
<CODE>headers_out</CODE>, to indicate where the client should be
|
||||||
redirected <EM>to</EM>. <P>
|
redirected <EM>to</EM>. <P>
|
||||||
|
|
||||||
<h3><A name="resp_handlers">Special considerations for response handlers</A></h3>
|
<H3><A name="resp_handlers">Special considerations for response handlers</A></H3>
|
||||||
|
|
||||||
Handlers for most phases do their work by simply setting a few fields
|
Handlers for most phases do their work by simply setting a few fields
|
||||||
in the <CODE>request_rec</CODE> structure (or, in the case of access
|
in the <CODE>request_rec</CODE> structure (or, in the case of access
|
||||||
@@ -463,7 +463,7 @@ internally redirected should always return <CODE>OK</CODE>. <P>
|
|||||||
(Invoking <CODE>internal_redirect</CODE> from handlers which are
|
(Invoking <CODE>internal_redirect</CODE> from handlers which are
|
||||||
<EM>not</EM> response handlers will lead to serious confusion).
|
<EM>not</EM> response handlers will lead to serious confusion).
|
||||||
|
|
||||||
<h3><A name="auth_handlers">Special considerations for authentication handlers</A></h3>
|
<H3><A name="auth_handlers">Special considerations for authentication handlers</A></H3>
|
||||||
|
|
||||||
Stuff that should be discussed here in detail:
|
Stuff that should be discussed here in detail:
|
||||||
|
|
||||||
@@ -481,7 +481,7 @@ Stuff that should be discussed here in detail:
|
|||||||
to be sent back).
|
to be sent back).
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="log_handlers">Special considerations for logging handlers</A></h3>
|
<H3><A name="log_handlers">Special considerations for logging handlers</A></H3>
|
||||||
|
|
||||||
When a request has internally redirected, there is the question of
|
When a request has internally redirected, there is the question of
|
||||||
what to log. Apache handles this by bundling the entire chain of
|
what to log. Apache handles this by bundling the entire chain of
|
||||||
@@ -493,7 +493,7 @@ initial request from the client; note that the bytes_sent field will
|
|||||||
only be correct in the last request in the chain (the one for which a
|
only be correct in the last request in the chain (the one for which a
|
||||||
response was actually sent).
|
response was actually sent).
|
||||||
|
|
||||||
<h2><A name="pools">Resource allocation and resource pools</A></h2>
|
<H2><A name="pools">Resource allocation and resource pools</A></H2>
|
||||||
|
|
||||||
One of the problems of writing and designing a server-pool server is
|
One of the problems of writing and designing a server-pool server is
|
||||||
that of preventing leakage, that is, allocating resources (memory,
|
that of preventing leakage, that is, allocating resources (memory,
|
||||||
@@ -544,7 +544,7 @@ We begin here by describing how memory is allocated to pools, and then
|
|||||||
discuss how other resources are tracked by the resource pool
|
discuss how other resources are tracked by the resource pool
|
||||||
machinery.
|
machinery.
|
||||||
|
|
||||||
<h3>Allocation of memory in pools</h3>
|
<H3>Allocation of memory in pools</H3>
|
||||||
|
|
||||||
Memory is allocated to pools by calling the function
|
Memory is allocated to pools by calling the function
|
||||||
<CODE>palloc</CODE>, which takes two arguments, one being a pointer to
|
<CODE>palloc</CODE>, which takes two arguments, one being a pointer to
|
||||||
@@ -583,7 +583,7 @@ sub-pools below, and is used in the directory-indexing code, in order
|
|||||||
to avoid excessive storage allocation when listing directories with
|
to avoid excessive storage allocation when listing directories with
|
||||||
thousands of files).
|
thousands of files).
|
||||||
|
|
||||||
<h3>Allocating initialized memory</h3>
|
<H3>Allocating initialized memory</H3>
|
||||||
|
|
||||||
There are functions which allocate initialized memory, and are
|
There are functions which allocate initialized memory, and are
|
||||||
frequently useful. The function <CODE>pcalloc</CODE> has the same
|
frequently useful. The function <CODE>pcalloc</CODE> has the same
|
||||||
@@ -604,7 +604,7 @@ of the strings, as a unit; for instance:
|
|||||||
returns a pointer to 8 bytes worth of memory, initialized to
|
returns a pointer to 8 bytes worth of memory, initialized to
|
||||||
<CODE>"foo/bar"</CODE>.
|
<CODE>"foo/bar"</CODE>.
|
||||||
|
|
||||||
<h3><A name="pool-files">Tracking open files, etc.</A></h3>
|
<H3><A name="pool-files">Tracking open files, etc.</A></H3>
|
||||||
|
|
||||||
As indicated above, resource pools are also used to track other sorts
|
As indicated above, resource pools are also used to track other sorts
|
||||||
of resources besides memory. The most common are open files. The
|
of resources besides memory. The most common are open files. The
|
||||||
@@ -638,13 +638,13 @@ systems such as Linux, which react badly if the same
|
|||||||
file will eventually be closed regardless, but you should consider it
|
file will eventually be closed regardless, but you should consider it
|
||||||
in cases where your module is opening, or could open, a lot of files).
|
in cases where your module is opening, or could open, a lot of files).
|
||||||
|
|
||||||
<h3>Other sorts of resources --- cleanup functions</h3>
|
<H3>Other sorts of resources --- cleanup functions</H3>
|
||||||
|
|
||||||
More text goes here. Describe the the cleanup primitives in terms of
|
More text goes here. Describe the the cleanup primitives in terms of
|
||||||
which the file stuff is implemented; also, <CODE>spawn_process</CODE>.
|
which the file stuff is implemented; also, <CODE>spawn_process</CODE>.
|
||||||
|
|
||||||
<h3>Fine control --- creating and dealing with sub-pools, with a note
|
<H3>Fine control --- creating and dealing with sub-pools, with a note
|
||||||
on sub-requests</h3>
|
on sub-requests</H3>
|
||||||
|
|
||||||
On rare occasions, too-free use of <CODE>palloc()</CODE> and the
|
On rare occasions, too-free use of <CODE>palloc()</CODE> and the
|
||||||
associated primitives may result in undesirably profligate resource
|
associated primitives may result in undesirably profligate resource
|
||||||
@@ -686,7 +686,7 @@ cleared. It is only when you are allocating many, many sub-requests
|
|||||||
for a single main request that you should seriously consider the
|
for a single main request that you should seriously consider the
|
||||||
<CODE>destroy...</CODE> functions).
|
<CODE>destroy...</CODE> functions).
|
||||||
|
|
||||||
<h2><A name="config">Configuration, commands and the like</A></h2>
|
<H2><A name="config">Configuration, commands and the like</A></H2>
|
||||||
|
|
||||||
One of the design goals for this server was to maintain external
|
One of the design goals for this server was to maintain external
|
||||||
compatibility with the NCSA 1.3 server --- that is, to read the same
|
compatibility with the NCSA 1.3 server --- that is, to read the same
|
||||||
@@ -735,7 +735,7 @@ for handling them. That is solved the same way it is solved wherever
|
|||||||
else similar problems come up, by tying those structures to the
|
else similar problems come up, by tying those structures to the
|
||||||
per-transaction resource pool. <P>
|
per-transaction resource pool. <P>
|
||||||
|
|
||||||
<h3><A name="per-dir">Per-directory configuration structures</A></h3>
|
<H3><A name="per-dir">Per-directory configuration structures</A></H3>
|
||||||
|
|
||||||
Let's look out how all of this plays out in <CODE>mod_mime.c</CODE>,
|
Let's look out how all of this plays out in <CODE>mod_mime.c</CODE>,
|
||||||
which defines the file typing handler which emulates the NCSA server's
|
which defines the file typing handler which emulates the NCSA server's
|
||||||
@@ -828,7 +828,7 @@ consists solely of the state of the <CODE>XBITHACK</CODE>), and for
|
|||||||
those modules, you can just not declare one, and leave the
|
those modules, you can just not declare one, and leave the
|
||||||
corresponding structure slot in the module itself <CODE>NULL</CODE>.<P>
|
corresponding structure slot in the module itself <CODE>NULL</CODE>.<P>
|
||||||
|
|
||||||
<h3><A name="commands">Command handling</A></h3>
|
<H3><A name="commands">Command handling</A></H3>
|
||||||
|
|
||||||
Now that we have these structures, we need to be able to figure out
|
Now that we have these structures, we need to be able to figure out
|
||||||
how to fill them. That involves processing the actual
|
how to fill them. That involves processing the actual
|
||||||
@@ -967,7 +967,7 @@ int find_ct(request_rec *r)
|
|||||||
|
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h3><A name="servconf">Side notes --- per-server configuration, virtual servers, etc.</A></h3>
|
<H3><A name="servconf">Side notes --- per-server configuration, virtual servers, etc.</A></H3>
|
||||||
|
|
||||||
The basic ideas behind per-server module configuration are basically
|
The basic ideas behind per-server module configuration are basically
|
||||||
the same as those for per-directory configuration; there is a creation
|
the same as those for per-directory configuration; there is a creation
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Issues Regarding DNS and Apache</H1>
|
<H1 ALIGN="CENTER">Issues Regarding DNS and Apache</H1>
|
||||||
|
|
||||||
<P>This page could be summarized with the statement: <EM>don't require
|
<P>This page could be summarized with the statement: <EM>don't require
|
||||||
Apache to use DNS for any parsing of the configuration files</EM>.
|
Apache to use DNS for any parsing of the configuration files</EM>.
|
||||||
@@ -21,7 +21,7 @@ server may be subject to reliability problems (it might not boot), or
|
|||||||
denial and theft of service attacks (including users able to steal hits
|
denial and theft of service attacks (including users able to steal hits
|
||||||
from other users).
|
from other users).
|
||||||
|
|
||||||
<h3>A Simple Example</h3>
|
<H3>A Simple Example</H3>
|
||||||
|
|
||||||
Consider this configuration snippet:
|
Consider this configuration snippet:
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ which includes the server name then it will fail to generate a valid URL.
|
|||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
</PRE></BLOCKQUOTE>
|
</PRE></BLOCKQUOTE>
|
||||||
|
|
||||||
<h3>Denial of Service</h3>
|
<H3>Denial of Service</H3>
|
||||||
|
|
||||||
<P>There are (at least) two forms that denial of service can come in.
|
<P>There are (at least) two forms that denial of service can come in.
|
||||||
If you are running a version of Apache prior to version 1.2 then your
|
If you are running a version of Apache prior to version 1.2 then your
|
||||||
@@ -115,7 +115,7 @@ this happens requires a more in-depth discussion of how Apache matches
|
|||||||
up incoming requests with the virtual host that will serve it. A rough
|
up incoming requests with the virtual host that will serve it. A rough
|
||||||
document describing this <A HREF="vhosts/details.html"> is available</A>.
|
document describing this <A HREF="vhosts/details.html"> is available</A>.
|
||||||
|
|
||||||
<h3>The "main server" Address</h3>
|
<H3>The "main server" Address</H3>
|
||||||
|
|
||||||
<P>The addition of <A HREF="vhosts/name-based.html">name-based virtual host
|
<P>The addition of <A HREF="vhosts/name-based.html">name-based virtual host
|
||||||
support</A> in Apache 1.1 requires Apache to know the IP address(es) of
|
support</A> in Apache 1.1 requires Apache to know the IP address(es) of
|
||||||
@@ -141,7 +141,7 @@ CGIs unless you use <A HREF="mod/mod_env.html"><CODE>mod_env</CODE></A>
|
|||||||
to control the environment. It's best to consult the man pages or FAQs
|
to control the environment. It's best to consult the man pages or FAQs
|
||||||
for your OS.
|
for your OS.
|
||||||
|
|
||||||
<h3><A name="tips">Tips to Avoid these problems</A></h3>
|
<H3><A name="tips">Tips to Avoid these problems</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI> use IP addresses in <CODE><VirtualHost></CODE>
|
<LI> use IP addresses in <CODE><VirtualHost></CODE>
|
||||||
@@ -152,7 +152,7 @@ for your OS.
|
|||||||
has no pages to serve
|
has no pages to serve
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3>Appendix: Future Directions</h3>
|
<H3>Appendix: Future Directions</H3>
|
||||||
|
|
||||||
<P>The situation regarding DNS is highly undesirable. For Apache
|
<P>The situation regarding DNS is highly undesirable. For Apache
|
||||||
1.2 we've attempted to make the server at least continue booting
|
1.2 we've attempted to make the server at least continue booting
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Special Purpose Environment Variables</H1>
|
<H1 ALIGN="CENTER">Special Purpose Environment Variables</H1>
|
||||||
<P>Interoperability problems have led to the introduction of
|
<P>Interoperability problems have led to the introduction of
|
||||||
mechanisms to modify the way Apache behaves when talking to particular
|
mechanisms to modify the way Apache behaves when talking to particular
|
||||||
clients. To make these mechanisms as flexible as possible, they
|
clients. To make these mechanisms as flexible as possible, they
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Special Purpose Environment Variables</H1>
|
<H1 ALIGN="CENTER">Special Purpose Environment Variables</H1>
|
||||||
<P>Interoperability problems have led to the introduction of
|
<P>Interoperability problems have led to the introduction of
|
||||||
mechanisms to modify the way Apache behaves when talking to particular
|
mechanisms to modify the way Apache behaves when talking to particular
|
||||||
clients. To make these mechanisms as flexible as possible, they
|
clients. To make these mechanisms as flexible as possible, they
|
||||||
|
@@ -13,9 +13,9 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache's Handler Use</H1>
|
<H1 ALIGN="CENTER">Apache's Handler Use</H1>
|
||||||
|
|
||||||
<h2>What is a Handler</h2>
|
<H2>What is a Handler</H2>
|
||||||
|
|
||||||
<P>A "handler" is an internal Apache representation of the action to be
|
<P>A "handler" is an internal Apache representation of the action to be
|
||||||
performed when a file is called. Generally, files have implicit
|
performed when a file is called. Generally, files have implicit
|
||||||
@@ -61,7 +61,7 @@ handlers in the standard distribution are as follows:</P>
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#addhandler">AddHandler</A>
|
<LI><A HREF="#addhandler">AddHandler</A>
|
||||||
<LI><A HREF="#sethandler">SetHandler</A>
|
<LI><A HREF="#sethandler">SetHandler</A>
|
||||||
@@ -69,7 +69,7 @@ handlers in the standard distribution are as follows:</P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="addhandler">AddHandler</A></h2>
|
<H2><A name="addhandler">AddHandler</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -101,7 +101,7 @@ program.</P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="sethandler">SetHandler</A></h2>
|
<H2><A name="sethandler">SetHandler</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -141,7 +141,7 @@ called, you might put the following into access.conf:
|
|||||||
|
|
||||||
<P><HR>
|
<P><HR>
|
||||||
|
|
||||||
<h2>Programmer's Note</h2>
|
<H2>Programmer's Note</H2>
|
||||||
|
|
||||||
<P>In order to implement the handler features, an addition has been
|
<P>In order to implement the handler features, an addition has been
|
||||||
made to the <A HREF="misc/API.html">Apache API</A> that you may wish to
|
made to the <A HREF="misc/API.html">Apache API</A> that you may wish to
|
||||||
|
@@ -13,9 +13,9 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache's Handler Use</H1>
|
<H1 ALIGN="CENTER">Apache's Handler Use</H1>
|
||||||
|
|
||||||
<h2>What is a Handler</h2>
|
<H2>What is a Handler</H2>
|
||||||
|
|
||||||
<P>A "handler" is an internal Apache representation of the action to be
|
<P>A "handler" is an internal Apache representation of the action to be
|
||||||
performed when a file is called. Generally, files have implicit
|
performed when a file is called. Generally, files have implicit
|
||||||
@@ -61,7 +61,7 @@ handlers in the standard distribution are as follows:</P>
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#addhandler">AddHandler</A>
|
<LI><A HREF="#addhandler">AddHandler</A>
|
||||||
<LI><A HREF="#sethandler">SetHandler</A>
|
<LI><A HREF="#sethandler">SetHandler</A>
|
||||||
@@ -69,7 +69,7 @@ handlers in the standard distribution are as follows:</P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="addhandler">AddHandler</A></h2>
|
<H2><A name="addhandler">AddHandler</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -101,7 +101,7 @@ program.</P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="sethandler">SetHandler</A></h2>
|
<H2><A name="sethandler">SetHandler</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -141,7 +141,7 @@ called, you might put the following into access.conf:
|
|||||||
|
|
||||||
<P><HR>
|
<P><HR>
|
||||||
|
|
||||||
<h2>Programmer's Note</h2>
|
<H2>Programmer's Note</H2>
|
||||||
|
|
||||||
<P>In order to implement the handler features, an addition has been
|
<P>In order to implement the handler features, an addition has been
|
||||||
made to the <A HREF="misc/API.html">Apache API</A> that you may wish to
|
made to the <A HREF="misc/API.html">Apache API</A> that you may wish to
|
||||||
|
@@ -33,7 +33,7 @@ If you downloaded a binary distribution, skip to <A
|
|||||||
HREF="#install">Installing Apache</A>. Otherwise read the next section
|
HREF="#install">Installing Apache</A>. Otherwise read the next section
|
||||||
for how to compile the server.
|
for how to compile the server.
|
||||||
|
|
||||||
<h2>Compiling Apache</h2>
|
<H2>Compiling Apache</H2>
|
||||||
|
|
||||||
Compiling Apache consists of three steps: Firstly select which Apache
|
Compiling Apache consists of three steps: Firstly select which Apache
|
||||||
<STRONG>modules</STRONG> you want to include into the server. Secondly create a
|
<STRONG>modules</STRONG> you want to include into the server. Secondly create a
|
||||||
@@ -115,7 +115,7 @@ HREF="http://www.apache.org/dist/contrib/modules/"><URL:http://www.apache.org
|
|||||||
There are instructions on that page for linking these modules into the
|
There are instructions on that page for linking these modules into the
|
||||||
core Apache code.
|
core Apache code.
|
||||||
|
|
||||||
<h2><A NAME="install">Installing Apache</A></h2>
|
<H2><A NAME="install">Installing Apache</A></H2>
|
||||||
|
|
||||||
You will have a binary file called <CODE>httpd</CODE> in the
|
You will have a binary file called <CODE>httpd</CODE> in the
|
||||||
<CODE>src</CODE> directory. A binary distribution of Apache will
|
<CODE>src</CODE> directory. A binary distribution of Apache will
|
||||||
|
@@ -33,7 +33,7 @@ If you downloaded a binary distribution, skip to <A
|
|||||||
HREF="#install">Installing Apache</A>. Otherwise read the next section
|
HREF="#install">Installing Apache</A>. Otherwise read the next section
|
||||||
for how to compile the server.
|
for how to compile the server.
|
||||||
|
|
||||||
<h2>Compiling Apache</h2>
|
<H2>Compiling Apache</H2>
|
||||||
|
|
||||||
Compiling Apache consists of three steps: Firstly select which Apache
|
Compiling Apache consists of three steps: Firstly select which Apache
|
||||||
<STRONG>modules</STRONG> you want to include into the server. Secondly create a
|
<STRONG>modules</STRONG> you want to include into the server. Secondly create a
|
||||||
@@ -115,7 +115,7 @@ HREF="http://www.apache.org/dist/contrib/modules/"><URL:http://www.apache.org
|
|||||||
There are instructions on that page for linking these modules into the
|
There are instructions on that page for linking these modules into the
|
||||||
core Apache code.
|
core Apache code.
|
||||||
|
|
||||||
<h2><A NAME="install">Installing Apache</A></h2>
|
<H2><A NAME="install">Installing Apache</A></H2>
|
||||||
|
|
||||||
You will have a binary file called <CODE>httpd</CODE> in the
|
You will have a binary file called <CODE>httpd</CODE> in the
|
||||||
<CODE>src</CODE> directory. A binary distribution of Apache will
|
<CODE>src</CODE> directory. A binary distribution of Apache will
|
||||||
|
@@ -13,9 +13,9 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Starting Apache</H1>
|
<H1 ALIGN="CENTER">Starting Apache</H1>
|
||||||
|
|
||||||
<h2>Invoking Apache</h2>
|
<H2>Invoking Apache</H2>
|
||||||
The <CODE>httpd</CODE> program is usually run as a daemon which executes
|
The <CODE>httpd</CODE> program is usually run as a daemon which executes
|
||||||
continuously, handling requests. It is possible to invoke Apache by
|
continuously, handling requests. It is possible to invoke Apache by
|
||||||
the Internet daemon <CODE>inetd</CODE> each time a connection to the HTTP
|
the Internet daemon <CODE>inetd</CODE> each time a connection to the HTTP
|
||||||
@@ -23,7 +23,7 @@ service is made (use the
|
|||||||
<A HREF="mod/core.html#servertype">ServerType</A> directive)
|
<A HREF="mod/core.html#servertype">ServerType</A> directive)
|
||||||
but this is not recommended.
|
but this is not recommended.
|
||||||
|
|
||||||
<h2>Command line options</h2>
|
<H2>Command line options</H2>
|
||||||
The following options are recognized on the httpd command line:
|
The following options are recognized on the httpd command line:
|
||||||
<DL>
|
<DL>
|
||||||
<DT><CODE>-d</CODE> <EM>serverroot</EM>
|
<DT><CODE>-d</CODE> <EM>serverroot</EM>
|
||||||
@@ -63,7 +63,7 @@ places where the directive is valid. (New in Apache 1.2)
|
|||||||
<DD>Print a list of the httpd options, and then exit.
|
<DD>Print a list of the httpd options, and then exit.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h2>Configuration files</h2>
|
<H2>Configuration files</H2>
|
||||||
The server will read three files for configuration directives. Any directive
|
The server will read three files for configuration directives. Any directive
|
||||||
may appear in any of these files. The the names of these files are taken
|
may appear in any of these files. The the names of these files are taken
|
||||||
to be relative to the server root; this is set by the
|
to be relative to the server root; this is set by the
|
||||||
@@ -92,15 +92,15 @@ The server also reads a file containing mime document types; the filename
|
|||||||
is set by the <A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A> directive,
|
is set by the <A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A> directive,
|
||||||
and is <CODE>conf/mime.types</CODE> by default.
|
and is <CODE>conf/mime.types</CODE> by default.
|
||||||
|
|
||||||
<h2>Log files</h2>
|
<H2>Log files</H2>
|
||||||
<h3>security warning</h3>
|
<H3>security warning</H3>
|
||||||
Anyone who can write to the directory where Apache is writing a
|
Anyone who can write to the directory where Apache is writing a
|
||||||
log file can almost certainly gain access to the uid that the server is
|
log file can almost certainly gain access to the uid that the server is
|
||||||
started as, which is normally root. Do <EM>NOT</EM> give people write
|
started as, which is normally root. Do <EM>NOT</EM> give people write
|
||||||
access to the directory the logs are stored in without being aware of
|
access to the directory the logs are stored in without being aware of
|
||||||
the consequences; see the <A HREF="misc/security_tips.html">security tips</A>
|
the consequences; see the <A HREF="misc/security_tips.html">security tips</A>
|
||||||
document for details.
|
document for details.
|
||||||
<h3>pid file</h3>
|
<H3>pid file</H3>
|
||||||
On daemon startup, it saves the process id of the parent httpd process to
|
On daemon startup, it saves the process id of the parent httpd process to
|
||||||
the file <CODE>logs/httpd.pid</CODE>. This filename can be changed with the
|
the file <CODE>logs/httpd.pid</CODE>. This filename can be changed with the
|
||||||
<A HREF="mod/core.html#pidfile">PidFile</A> directive. The process-id is for
|
<A HREF="mod/core.html#pidfile">PidFile</A> directive. The process-id is for
|
||||||
@@ -112,13 +112,13 @@ see the <A HREF="stopping.html">Stopping and Restarting</A> page.
|
|||||||
If the process dies (or is killed) abnormally, then it will be necessary to
|
If the process dies (or is killed) abnormally, then it will be necessary to
|
||||||
kill the children httpd processes.
|
kill the children httpd processes.
|
||||||
|
|
||||||
<h3>Error log</h3>
|
<H3>Error log</H3>
|
||||||
The server will log error messages to a log file, <CODE>logs/error_log</CODE>
|
The server will log error messages to a log file, <CODE>logs/error_log</CODE>
|
||||||
by default. The filename can be set using the
|
by default. The filename can be set using the
|
||||||
<A HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error logs can
|
<A HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error logs can
|
||||||
be set for different <A HREF="mod/core.html#virtualhost">virtual hosts</A>.
|
be set for different <A HREF="mod/core.html#virtualhost">virtual hosts</A>.
|
||||||
|
|
||||||
<h3>Transfer log</h3>
|
<H3>Transfer log</H3>
|
||||||
The server will typically log each request to a transfer file,
|
The server will typically log each request to a transfer file,
|
||||||
<CODE>logs/access_log</CODE> by default. The filename can be set using a
|
<CODE>logs/access_log</CODE> by default. The filename can be set using a
|
||||||
<A HREF="mod/mod_log_config.html#transferlog">TransferLog</A> directive; different
|
<A HREF="mod/mod_log_config.html#transferlog">TransferLog</A> directive; different
|
||||||
|
@@ -13,9 +13,9 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Starting Apache</H1>
|
<H1 ALIGN="CENTER">Starting Apache</H1>
|
||||||
|
|
||||||
<h2>Invoking Apache</h2>
|
<H2>Invoking Apache</H2>
|
||||||
The <CODE>httpd</CODE> program is usually run as a daemon which executes
|
The <CODE>httpd</CODE> program is usually run as a daemon which executes
|
||||||
continuously, handling requests. It is possible to invoke Apache by
|
continuously, handling requests. It is possible to invoke Apache by
|
||||||
the Internet daemon <CODE>inetd</CODE> each time a connection to the HTTP
|
the Internet daemon <CODE>inetd</CODE> each time a connection to the HTTP
|
||||||
@@ -23,7 +23,7 @@ service is made (use the
|
|||||||
<A HREF="mod/core.html#servertype">ServerType</A> directive)
|
<A HREF="mod/core.html#servertype">ServerType</A> directive)
|
||||||
but this is not recommended.
|
but this is not recommended.
|
||||||
|
|
||||||
<h2>Command line options</h2>
|
<H2>Command line options</H2>
|
||||||
The following options are recognized on the httpd command line:
|
The following options are recognized on the httpd command line:
|
||||||
<DL>
|
<DL>
|
||||||
<DT><CODE>-d</CODE> <EM>serverroot</EM>
|
<DT><CODE>-d</CODE> <EM>serverroot</EM>
|
||||||
@@ -63,7 +63,7 @@ places where the directive is valid. (New in Apache 1.2)
|
|||||||
<DD>Print a list of the httpd options, and then exit.
|
<DD>Print a list of the httpd options, and then exit.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h2>Configuration files</h2>
|
<H2>Configuration files</H2>
|
||||||
The server will read three files for configuration directives. Any directive
|
The server will read three files for configuration directives. Any directive
|
||||||
may appear in any of these files. The the names of these files are taken
|
may appear in any of these files. The the names of these files are taken
|
||||||
to be relative to the server root; this is set by the
|
to be relative to the server root; this is set by the
|
||||||
@@ -92,15 +92,15 @@ The server also reads a file containing mime document types; the filename
|
|||||||
is set by the <A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A> directive,
|
is set by the <A HREF="mod/mod_mime.html#typesconfig">TypesConfig</A> directive,
|
||||||
and is <CODE>conf/mime.types</CODE> by default.
|
and is <CODE>conf/mime.types</CODE> by default.
|
||||||
|
|
||||||
<h2>Log files</h2>
|
<H2>Log files</H2>
|
||||||
<h3>security warning</h3>
|
<H3>security warning</H3>
|
||||||
Anyone who can write to the directory where Apache is writing a
|
Anyone who can write to the directory where Apache is writing a
|
||||||
log file can almost certainly gain access to the uid that the server is
|
log file can almost certainly gain access to the uid that the server is
|
||||||
started as, which is normally root. Do <EM>NOT</EM> give people write
|
started as, which is normally root. Do <EM>NOT</EM> give people write
|
||||||
access to the directory the logs are stored in without being aware of
|
access to the directory the logs are stored in without being aware of
|
||||||
the consequences; see the <A HREF="misc/security_tips.html">security tips</A>
|
the consequences; see the <A HREF="misc/security_tips.html">security tips</A>
|
||||||
document for details.
|
document for details.
|
||||||
<h3>pid file</h3>
|
<H3>pid file</H3>
|
||||||
On daemon startup, it saves the process id of the parent httpd process to
|
On daemon startup, it saves the process id of the parent httpd process to
|
||||||
the file <CODE>logs/httpd.pid</CODE>. This filename can be changed with the
|
the file <CODE>logs/httpd.pid</CODE>. This filename can be changed with the
|
||||||
<A HREF="mod/core.html#pidfile">PidFile</A> directive. The process-id is for
|
<A HREF="mod/core.html#pidfile">PidFile</A> directive. The process-id is for
|
||||||
@@ -112,13 +112,13 @@ see the <A HREF="stopping.html">Stopping and Restarting</A> page.
|
|||||||
If the process dies (or is killed) abnormally, then it will be necessary to
|
If the process dies (or is killed) abnormally, then it will be necessary to
|
||||||
kill the children httpd processes.
|
kill the children httpd processes.
|
||||||
|
|
||||||
<h3>Error log</h3>
|
<H3>Error log</H3>
|
||||||
The server will log error messages to a log file, <CODE>logs/error_log</CODE>
|
The server will log error messages to a log file, <CODE>logs/error_log</CODE>
|
||||||
by default. The filename can be set using the
|
by default. The filename can be set using the
|
||||||
<A HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error logs can
|
<A HREF="mod/core.html#errorlog">ErrorLog</A> directive; different error logs can
|
||||||
be set for different <A HREF="mod/core.html#virtualhost">virtual hosts</A>.
|
be set for different <A HREF="mod/core.html#virtualhost">virtual hosts</A>.
|
||||||
|
|
||||||
<h3>Transfer log</h3>
|
<H3>Transfer log</H3>
|
||||||
The server will typically log each request to a transfer file,
|
The server will typically log each request to a transfer file,
|
||||||
<CODE>logs/access_log</CODE> by default. The filename can be set using a
|
<CODE>logs/access_log</CODE> by default. The filename can be set using a
|
||||||
<A HREF="mod/mod_log_config.html#transferlog">TransferLog</A> directive; different
|
<A HREF="mod/mod_log_config.html#transferlog">TransferLog</A> directive; different
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<H1 ALIGN="CENTER">Access Control by URL</H1>
|
<H1 ALIGN="CENTER">Access Control by URL</H1>
|
||||||
|
|
||||||
<h2><A name="location">The <CODE><Location></CODE> Directive</A></h2>
|
<H2><A name="location">The <CODE><Location></CODE> Directive</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache API notes</H1>
|
<H1 ALIGN="CENTER">Apache API notes</H1>
|
||||||
|
|
||||||
These are some notes on the Apache API and the data structures you
|
These are some notes on the Apache API and the data structures you
|
||||||
have to deal with, etc. They are not yet nearly complete, but
|
have to deal with, etc. They are not yet nearly complete, but
|
||||||
@@ -57,12 +57,12 @@ coming up, and in what order:
|
|||||||
</MENU>
|
</MENU>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2><A name="basics">Basic concepts.</A></h2>
|
<H2><A name="basics">Basic concepts.</A></H2>
|
||||||
|
|
||||||
We begin with an overview of the basic concepts behind the
|
We begin with an overview of the basic concepts behind the
|
||||||
API, and how they are manifested in the code.
|
API, and how they are manifested in the code.
|
||||||
|
|
||||||
<h3><A name="HMR">Handlers, Modules, and Requests</A></h3>
|
<H3><A name="HMR">Handlers, Modules, and Requests</A></H3>
|
||||||
|
|
||||||
Apache breaks down request handling into a series of steps, more or
|
Apache breaks down request handling into a series of steps, more or
|
||||||
less the same way the Netscape server API does (although this API has
|
less the same way the Netscape server API does (although this API has
|
||||||
@@ -116,7 +116,7 @@ The handlers themselves are functions of one argument (a
|
|||||||
<CODE>request_rec</CODE> structure. vide infra), which returns an
|
<CODE>request_rec</CODE> structure. vide infra), which returns an
|
||||||
integer, as above.<P>
|
integer, as above.<P>
|
||||||
|
|
||||||
<h3><A name="moduletour">A brief tour of a module</A></h3>
|
<H3><A name="moduletour">A brief tour of a module</A></H3>
|
||||||
|
|
||||||
At this point, we need to explain the structure of a module. Our
|
At this point, we need to explain the structure of a module. Our
|
||||||
candidate will be one of the messier ones, the CGI module --- this
|
candidate will be one of the messier ones, the CGI module --- this
|
||||||
@@ -215,14 +215,14 @@ module cgi_module = {
|
|||||||
};
|
};
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h2><A name="handlers">How handlers work</A></h2>
|
<H2><A name="handlers">How handlers work</A></H2>
|
||||||
|
|
||||||
The sole argument to handlers is a <CODE>request_rec</CODE> structure.
|
The sole argument to handlers is a <CODE>request_rec</CODE> structure.
|
||||||
This structure describes a particular request which has been made to
|
This structure describes a particular request which has been made to
|
||||||
the server, on behalf of a client. In most cases, each connection to
|
the server, on behalf of a client. In most cases, each connection to
|
||||||
the client generates only one <CODE>request_rec</CODE> structure.<P>
|
the client generates only one <CODE>request_rec</CODE> structure.<P>
|
||||||
|
|
||||||
<h3><A name="req_tour">A brief tour of the <CODE>request_rec</CODE></A></h3>
|
<H3><A name="req_tour">A brief tour of the <CODE>request_rec</CODE></A></H3>
|
||||||
|
|
||||||
The <CODE>request_rec</CODE> contains pointers to a resource pool
|
The <CODE>request_rec</CODE> contains pointers to a resource pool
|
||||||
which will be cleared when the server is finished handling the
|
which will be cleared when the server is finished handling the
|
||||||
@@ -329,7 +329,7 @@ struct request_rec {
|
|||||||
|
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h3><A name="req_orig">Where request_rec structures come from</A></h3>
|
<H3><A name="req_orig">Where request_rec structures come from</A></H3>
|
||||||
|
|
||||||
Most <CODE>request_rec</CODE> structures are built by reading an HTTP
|
Most <CODE>request_rec</CODE> structures are built by reading an HTTP
|
||||||
request from a client, and filling in the fields. However, there are
|
request from a client, and filling in the fields. However, there are
|
||||||
@@ -370,7 +370,7 @@ a few exceptions:
|
|||||||
function <CODE>run_sub_request</CODE>).
|
function <CODE>run_sub_request</CODE>).
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="req_return">Handling requests, declining, and returning error codes</A></h3>
|
<H3><A name="req_return">Handling requests, declining, and returning error codes</A></H3>
|
||||||
|
|
||||||
As discussed above, each handler, when invoked to handle a particular
|
As discussed above, each handler, when invoked to handle a particular
|
||||||
<CODE>request_rec</CODE>, has to return an <CODE>int</CODE> to
|
<CODE>request_rec</CODE>, has to return an <CODE>int</CODE> to
|
||||||
@@ -389,7 +389,7 @@ the module should put a <CODE>Location</CODE> in the request's
|
|||||||
<CODE>headers_out</CODE>, to indicate where the client should be
|
<CODE>headers_out</CODE>, to indicate where the client should be
|
||||||
redirected <EM>to</EM>. <P>
|
redirected <EM>to</EM>. <P>
|
||||||
|
|
||||||
<h3><A name="resp_handlers">Special considerations for response handlers</A></h3>
|
<H3><A name="resp_handlers">Special considerations for response handlers</A></H3>
|
||||||
|
|
||||||
Handlers for most phases do their work by simply setting a few fields
|
Handlers for most phases do their work by simply setting a few fields
|
||||||
in the <CODE>request_rec</CODE> structure (or, in the case of access
|
in the <CODE>request_rec</CODE> structure (or, in the case of access
|
||||||
@@ -463,7 +463,7 @@ internally redirected should always return <CODE>OK</CODE>. <P>
|
|||||||
(Invoking <CODE>internal_redirect</CODE> from handlers which are
|
(Invoking <CODE>internal_redirect</CODE> from handlers which are
|
||||||
<EM>not</EM> response handlers will lead to serious confusion).
|
<EM>not</EM> response handlers will lead to serious confusion).
|
||||||
|
|
||||||
<h3><A name="auth_handlers">Special considerations for authentication handlers</A></h3>
|
<H3><A name="auth_handlers">Special considerations for authentication handlers</A></H3>
|
||||||
|
|
||||||
Stuff that should be discussed here in detail:
|
Stuff that should be discussed here in detail:
|
||||||
|
|
||||||
@@ -481,7 +481,7 @@ Stuff that should be discussed here in detail:
|
|||||||
to be sent back).
|
to be sent back).
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="log_handlers">Special considerations for logging handlers</A></h3>
|
<H3><A name="log_handlers">Special considerations for logging handlers</A></H3>
|
||||||
|
|
||||||
When a request has internally redirected, there is the question of
|
When a request has internally redirected, there is the question of
|
||||||
what to log. Apache handles this by bundling the entire chain of
|
what to log. Apache handles this by bundling the entire chain of
|
||||||
@@ -493,7 +493,7 @@ initial request from the client; note that the bytes_sent field will
|
|||||||
only be correct in the last request in the chain (the one for which a
|
only be correct in the last request in the chain (the one for which a
|
||||||
response was actually sent).
|
response was actually sent).
|
||||||
|
|
||||||
<h2><A name="pools">Resource allocation and resource pools</A></h2>
|
<H2><A name="pools">Resource allocation and resource pools</A></H2>
|
||||||
|
|
||||||
One of the problems of writing and designing a server-pool server is
|
One of the problems of writing and designing a server-pool server is
|
||||||
that of preventing leakage, that is, allocating resources (memory,
|
that of preventing leakage, that is, allocating resources (memory,
|
||||||
@@ -544,7 +544,7 @@ We begin here by describing how memory is allocated to pools, and then
|
|||||||
discuss how other resources are tracked by the resource pool
|
discuss how other resources are tracked by the resource pool
|
||||||
machinery.
|
machinery.
|
||||||
|
|
||||||
<h3>Allocation of memory in pools</h3>
|
<H3>Allocation of memory in pools</H3>
|
||||||
|
|
||||||
Memory is allocated to pools by calling the function
|
Memory is allocated to pools by calling the function
|
||||||
<CODE>palloc</CODE>, which takes two arguments, one being a pointer to
|
<CODE>palloc</CODE>, which takes two arguments, one being a pointer to
|
||||||
@@ -583,7 +583,7 @@ sub-pools below, and is used in the directory-indexing code, in order
|
|||||||
to avoid excessive storage allocation when listing directories with
|
to avoid excessive storage allocation when listing directories with
|
||||||
thousands of files).
|
thousands of files).
|
||||||
|
|
||||||
<h3>Allocating initialized memory</h3>
|
<H3>Allocating initialized memory</H3>
|
||||||
|
|
||||||
There are functions which allocate initialized memory, and are
|
There are functions which allocate initialized memory, and are
|
||||||
frequently useful. The function <CODE>pcalloc</CODE> has the same
|
frequently useful. The function <CODE>pcalloc</CODE> has the same
|
||||||
@@ -604,7 +604,7 @@ of the strings, as a unit; for instance:
|
|||||||
returns a pointer to 8 bytes worth of memory, initialized to
|
returns a pointer to 8 bytes worth of memory, initialized to
|
||||||
<CODE>"foo/bar"</CODE>.
|
<CODE>"foo/bar"</CODE>.
|
||||||
|
|
||||||
<h3><A name="pool-files">Tracking open files, etc.</A></h3>
|
<H3><A name="pool-files">Tracking open files, etc.</A></H3>
|
||||||
|
|
||||||
As indicated above, resource pools are also used to track other sorts
|
As indicated above, resource pools are also used to track other sorts
|
||||||
of resources besides memory. The most common are open files. The
|
of resources besides memory. The most common are open files. The
|
||||||
@@ -638,13 +638,13 @@ systems such as Linux, which react badly if the same
|
|||||||
file will eventually be closed regardless, but you should consider it
|
file will eventually be closed regardless, but you should consider it
|
||||||
in cases where your module is opening, or could open, a lot of files).
|
in cases where your module is opening, or could open, a lot of files).
|
||||||
|
|
||||||
<h3>Other sorts of resources --- cleanup functions</h3>
|
<H3>Other sorts of resources --- cleanup functions</H3>
|
||||||
|
|
||||||
More text goes here. Describe the the cleanup primitives in terms of
|
More text goes here. Describe the the cleanup primitives in terms of
|
||||||
which the file stuff is implemented; also, <CODE>spawn_process</CODE>.
|
which the file stuff is implemented; also, <CODE>spawn_process</CODE>.
|
||||||
|
|
||||||
<h3>Fine control --- creating and dealing with sub-pools, with a note
|
<H3>Fine control --- creating and dealing with sub-pools, with a note
|
||||||
on sub-requests</h3>
|
on sub-requests</H3>
|
||||||
|
|
||||||
On rare occasions, too-free use of <CODE>palloc()</CODE> and the
|
On rare occasions, too-free use of <CODE>palloc()</CODE> and the
|
||||||
associated primitives may result in undesirably profligate resource
|
associated primitives may result in undesirably profligate resource
|
||||||
@@ -686,7 +686,7 @@ cleared. It is only when you are allocating many, many sub-requests
|
|||||||
for a single main request that you should seriously consider the
|
for a single main request that you should seriously consider the
|
||||||
<CODE>destroy...</CODE> functions).
|
<CODE>destroy...</CODE> functions).
|
||||||
|
|
||||||
<h2><A name="config">Configuration, commands and the like</A></h2>
|
<H2><A name="config">Configuration, commands and the like</A></H2>
|
||||||
|
|
||||||
One of the design goals for this server was to maintain external
|
One of the design goals for this server was to maintain external
|
||||||
compatibility with the NCSA 1.3 server --- that is, to read the same
|
compatibility with the NCSA 1.3 server --- that is, to read the same
|
||||||
@@ -735,7 +735,7 @@ for handling them. That is solved the same way it is solved wherever
|
|||||||
else similar problems come up, by tying those structures to the
|
else similar problems come up, by tying those structures to the
|
||||||
per-transaction resource pool. <P>
|
per-transaction resource pool. <P>
|
||||||
|
|
||||||
<h3><A name="per-dir">Per-directory configuration structures</A></h3>
|
<H3><A name="per-dir">Per-directory configuration structures</A></H3>
|
||||||
|
|
||||||
Let's look out how all of this plays out in <CODE>mod_mime.c</CODE>,
|
Let's look out how all of this plays out in <CODE>mod_mime.c</CODE>,
|
||||||
which defines the file typing handler which emulates the NCSA server's
|
which defines the file typing handler which emulates the NCSA server's
|
||||||
@@ -828,7 +828,7 @@ consists solely of the state of the <CODE>XBITHACK</CODE>), and for
|
|||||||
those modules, you can just not declare one, and leave the
|
those modules, you can just not declare one, and leave the
|
||||||
corresponding structure slot in the module itself <CODE>NULL</CODE>.<P>
|
corresponding structure slot in the module itself <CODE>NULL</CODE>.<P>
|
||||||
|
|
||||||
<h3><A name="commands">Command handling</A></h3>
|
<H3><A name="commands">Command handling</A></H3>
|
||||||
|
|
||||||
Now that we have these structures, we need to be able to figure out
|
Now that we have these structures, we need to be able to figure out
|
||||||
how to fill them. That involves processing the actual
|
how to fill them. That involves processing the actual
|
||||||
@@ -967,7 +967,7 @@ int find_ct(request_rec *r)
|
|||||||
|
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h3><A name="servconf">Side notes --- per-server configuration, virtual servers, etc.</A></h3>
|
<H3><A name="servconf">Side notes --- per-server configuration, virtual servers, etc.</A></H3>
|
||||||
|
|
||||||
The basic ideas behind per-server module configuration are basically
|
The basic ideas behind per-server module configuration are basically
|
||||||
the same as those for per-directory configuration; there is a creation
|
the same as those for per-directory configuration; there is a creation
|
||||||
|
@@ -30,7 +30,7 @@ accomplished while remaining backwards-compatible.</P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3>The New API Functions</h3>
|
<H3>The New API Functions</H3>
|
||||||
|
|
||||||
<PRE>
|
<PRE>
|
||||||
int setup_client_block (request_rec *, int read_policy);
|
int setup_client_block (request_rec *, int read_policy);
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||||
<html>
|
<HTML>
|
||||||
<head>
|
<HEAD>
|
||||||
<title>International Customized Server Error Messages</title>
|
<TITLE>International Customized Server Error Messages</TITLE>
|
||||||
</head>
|
</HEAD>
|
||||||
|
|
||||||
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
||||||
<BODY
|
<BODY
|
||||||
@@ -103,7 +103,7 @@ of as much server support as we can get:
|
|||||||
<LI>The <A HREF="../mod/mod_mime.html#addhandler">AddHandler</A> and
|
<LI>The <A HREF="../mod/mod_mime.html#addhandler">AddHandler</A> and
|
||||||
<A HREF="../mod/mod_mime.html#addtype">AddType</A> directives are useful
|
<A HREF="../mod/mod_mime.html#addtype">AddType</A> directives are useful
|
||||||
for automatically XSSI-expanding all files with a <SAMP>.shtml</SAMP>
|
for automatically XSSI-expanding all files with a <SAMP>.shtml</SAMP>
|
||||||
suffix to <em>text/html</em>.
|
suffix to <EM>text/html</EM>.
|
||||||
<LI>By using the <A HREF="../mod/mod_alias.html#alias">Alias</A> directive,
|
<LI>By using the <A HREF="../mod/mod_alias.html#alias">Alias</A> directive,
|
||||||
we keep the error document directory outside of the document tree
|
we keep the error document directory outside of the document tree
|
||||||
because it can be regarded more as a server part than part of
|
because it can be regarded more as a server part than part of
|
||||||
@@ -119,7 +119,7 @@ of as much server support as we can get:
|
|||||||
Note that we only define the basename of the document here
|
Note that we only define the basename of the document here
|
||||||
because the MultiViews option will select the best candidate
|
because the MultiViews option will select the best candidate
|
||||||
based on the language suffixes and the client's preferences.
|
based on the language suffixes and the client's preferences.
|
||||||
Any error situation with an error code <em>not</em> handled by a
|
Any error situation with an error code <EM>not</EM> handled by a
|
||||||
custom document will be dealt with by the server in the standard way
|
custom document will be dealt with by the server in the standard way
|
||||||
(i.e., a plain error message in english).
|
(i.e., a plain error message in english).
|
||||||
<LI>Finally, the <A HREF="../mod/core.html#allowoverride">AllowOverride</A>
|
<LI>Finally, the <A HREF="../mod/core.html#allowoverride">AllowOverride</A>
|
||||||
@@ -128,12 +128,12 @@ of as much server support as we can get:
|
|||||||
optimization.
|
optimization.
|
||||||
</OL>
|
</OL>
|
||||||
The resulting <SAMP>httpd.conf</SAMP> configuration would the look
|
The resulting <SAMP>httpd.conf</SAMP> configuration would the look
|
||||||
similar to this: <small>(Note that you can defrine your own error
|
similar to this: <SMALL>(Note that you can defrine your own error
|
||||||
messages using this method for only part of the document tree,
|
messages using this method for only part of the document tree,
|
||||||
e.g., a /~user/ subtree. In this case, the configuration could as well
|
e.g., a /~user/ subtree. In this case, the configuration could as well
|
||||||
be put into the .htaccess file at the root of the subtree. In this case,
|
be put into the .htaccess file at the root of the subtree. In this case,
|
||||||
the <Directory> and </Directory> directives -but not
|
the <Directory> and </Directory> directives -but not
|
||||||
the contained directives- must be omitted.)</small>
|
the contained directives- must be omitted.)</SMALL>
|
||||||
<PRE>
|
<PRE>
|
||||||
LanguagePriority en fr de
|
LanguagePriority en fr de
|
||||||
Alias /errordocs /usr/local/apache/errordocs
|
Alias /errordocs /usr/local/apache/errordocs
|
||||||
@@ -176,9 +176,9 @@ the configured error documents):
|
|||||||
would be bypassed.
|
would be bypassed.
|
||||||
<LI>For each language for which we have a translation (note that this need not
|
<LI>For each language for which we have a translation (note that this need not
|
||||||
be the same set of languages for each error code - you can get by
|
be the same set of languages for each error code - you can get by
|
||||||
with a single language version until you actually <em>have</em>
|
with a single language version until you actually <EM>have</EM>
|
||||||
translated versions), a document
|
translated versions), a document
|
||||||
<SAMP>errordocs/403.shtml.<em>lang</em></SAMP> is created and
|
<SAMP>errordocs/403.shtml.<EM>lang</EM></SAMP> is created and
|
||||||
filled with the error text in that language (<A HREF="#createdocs">see
|
filled with the error text in that language (<A HREF="#createdocs">see
|
||||||
below</A>).
|
below</A>).
|
||||||
<LI>One fallback document called <SAMP>errordocs/403.shtml</SAMP> is
|
<LI>One fallback document called <SAMP>errordocs/403.shtml</SAMP> is
|
||||||
@@ -214,9 +214,9 @@ because it contains server-parsed content but no language specific
|
|||||||
information. The footer file exists once for each language translation,
|
information. The footer file exists once for each language translation,
|
||||||
plus a symlink for the default language.<P>
|
plus a symlink for the default language.<P>
|
||||||
<STRONG>Example:</STRONG> for english, french and german versions (default english)<BR>
|
<STRONG>Example:</STRONG> for english, french and german versions (default english)<BR>
|
||||||
<CODE>foot.shtml.en</CODE>,<br>
|
<CODE>foot.shtml.en</CODE>,<BR>
|
||||||
<CODE>foot.shtml.fr</CODE>,<br>
|
<CODE>foot.shtml.fr</CODE>,<BR>
|
||||||
<CODE>foot.shtml.de</CODE>,<br>
|
<CODE>foot.shtml.de</CODE>,<BR>
|
||||||
<CODE>foot.shtml</CODE> symlink to <CODE>foot.shtml.en</CODE><P>
|
<CODE>foot.shtml</CODE> symlink to <CODE>foot.shtml.en</CODE><P>
|
||||||
Both files are then simply included into the error document by using the
|
Both files are then simply included into the error document by using the
|
||||||
directives <CODE><!--#include virtual="head" --></CODE>
|
directives <CODE><!--#include virtual="head" --></CODE>
|
||||||
@@ -377,13 +377,13 @@ for browser types which support animated GIFs).
|
|||||||
|
|
||||||
<H3>More welcome!</H3>
|
<H3>More welcome!</H3>
|
||||||
|
|
||||||
If you have tips to contribute, send mail to <a
|
If you have tips to contribute, send mail to <A
|
||||||
href="mailto:Martin.Kraemer@Mch.SNI.De">Martin.Kraemer@Mch.SNI.De</a>
|
HREF="mailto:Martin.Kraemer@Mch.SNI.De">Martin.Kraemer@Mch.SNI.De</A>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A>
|
<A HREF="./"><IMG SRC="../images/index.gif" ALT="Index"></A>
|
||||||
<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A>
|
<A HREF="../"><IMG SRC="../images/home.gif" ALT="Home"></A>
|
||||||
|
|
||||||
</body></html>
|
</BODY></HTML>
|
||||||
|
|
||||||
|
@@ -55,7 +55,7 @@ This will send an HTTP 302 Redirect back to the client, and no matter
|
|||||||
what they gave in the original URL, they'll be sent to
|
what they gave in the original URL, they'll be sent to
|
||||||
"http://www.apache.org".
|
"http://www.apache.org".
|
||||||
|
|
||||||
The second option is to set up a <CODE>ScriptAlias</Code> pointing to
|
The second option is to set up a <CODE>ScriptAlias</CODE> pointing to
|
||||||
a <STRONG>cgi script</STRONG> which outputs a 301 or 302 status and the location
|
a <STRONG>cgi script</STRONG> which outputs a 301 or 302 status and the location
|
||||||
of the other server.</P>
|
of the other server.</P>
|
||||||
|
|
||||||
|
@@ -49,7 +49,7 @@ is not included in the <CODE>Content-Length</CODE> of the request.
|
|||||||
Apache works around this problem by eating any empty lines which
|
Apache works around this problem by eating any empty lines which
|
||||||
appear before a request.
|
appear before a request.
|
||||||
|
|
||||||
<A name="broken-keepalive"><h3>Broken keepalive</h3></A>
|
<A name="broken-keepalive"><H3>Broken keepalive</H3></A>
|
||||||
|
|
||||||
<P>Various clients have had broken implementations of <EM>keepalive</EM>
|
<P>Various clients have had broken implementations of <EM>keepalive</EM>
|
||||||
(persistent connections). In particular the Windows versions of
|
(persistent connections). In particular the Windows versions of
|
||||||
@@ -72,7 +72,7 @@ patch</A> to version 1.2.1. Then add this to your config:
|
|||||||
BrowserMatch "MSIE 4\.0b2;" nokeepalive
|
BrowserMatch "MSIE 4\.0b2;" nokeepalive
|
||||||
</CODE></BLOCKQUOTE>
|
</CODE></BLOCKQUOTE>
|
||||||
|
|
||||||
<A name="force-response-1.0"><h3>Incorrect interpretation of <CODE>HTTP/1.1</CODE> in response</h3></A>
|
<A name="force-response-1.0"><H3>Incorrect interpretation of <CODE>HTTP/1.1</CODE> in response</H3></A>
|
||||||
|
|
||||||
<P>To quote from section 3.1 of RFC1945:
|
<P>To quote from section 3.1 of RFC1945:
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
@@ -112,7 +112,7 @@ workaround is still:
|
|||||||
BrowserMatch "RealPlayer 4.0" force-response-1.0
|
BrowserMatch "RealPlayer 4.0" force-response-1.0
|
||||||
</CODE></BLOCKQUOTE>
|
</CODE></BLOCKQUOTE>
|
||||||
|
|
||||||
<A name="msie4.0b2"><h3>Requests use HTTP/1.1 but responses must be in HTTP/1.0</h3></A>
|
<A name="msie4.0b2"><H3>Requests use HTTP/1.1 but responses must be in HTTP/1.0</H3></A>
|
||||||
|
|
||||||
<P>MSIE 4.0b2 has this problem. Its Java VM makes requests in HTTP/1.1
|
<P>MSIE 4.0b2 has this problem. Its Java VM makes requests in HTTP/1.1
|
||||||
format but the responses must be in HTTP/1.0 format (in particular, it
|
format but the responses must be in HTTP/1.0 format (in particular, it
|
||||||
@@ -125,7 +125,7 @@ This workaround is available in 1.2.2, and in a
|
|||||||
<A HREF="http://www.apache.org/dist/patches/apply_to_1.2.1/msie_4_0b2_fixes.patch">patch
|
<A HREF="http://www.apache.org/dist/patches/apply_to_1.2.1/msie_4_0b2_fixes.patch">patch
|
||||||
</A> against 1.2.1.
|
</A> against 1.2.1.
|
||||||
|
|
||||||
<A name="257th-byte"><h3>Boundary problems with header parsing</h3></A>
|
<A name="257th-byte"><H3>Boundary problems with header parsing</H3></A>
|
||||||
|
|
||||||
<P>All versions of Navigator from 2.0 through 4.0b2 (and possibly later)
|
<P>All versions of Navigator from 2.0 through 4.0b2 (and possibly later)
|
||||||
have a problem if the trailing CRLF of the response header starts at
|
have a problem if the trailing CRLF of the response header starts at
|
||||||
@@ -135,7 +135,7 @@ on all responses. The workaround is to detect when this condition would
|
|||||||
occur in a response and add extra padding to the header to push the
|
occur in a response and add extra padding to the header to push the
|
||||||
trailing CRLF past offset 258 of the response.
|
trailing CRLF past offset 258 of the response.
|
||||||
|
|
||||||
<A name="boundary-string"><h3>Multipart responses and Quoted Boundary Strings</h3></A>
|
<A name="boundary-string"><H3>Multipart responses and Quoted Boundary Strings</H3></A>
|
||||||
|
|
||||||
<P>On multipart responses some clients will not accept quotes (")
|
<P>On multipart responses some clients will not accept quotes (")
|
||||||
around the boundary string. The MIME standard recommends that
|
around the boundary string. The MIME standard recommends that
|
||||||
@@ -144,7 +144,7 @@ on one of the examples in RFC2068, which does not include quotes.
|
|||||||
Apache does not include quotes on its boundary strings to workaround
|
Apache does not include quotes on its boundary strings to workaround
|
||||||
this problem.
|
this problem.
|
||||||
|
|
||||||
<A name="byterange-requests"><h3>Byterange requests</h3></A>
|
<A name="byterange-requests"><H3>Byterange requests</H3></A>
|
||||||
|
|
||||||
<P>A byterange request is used when the client wishes to retrieve a
|
<P>A byterange request is used when the client wishes to retrieve a
|
||||||
portion of an object, not necessarily the entire object. There
|
portion of an object, not necessarily the entire object. There
|
||||||
@@ -185,7 +185,7 @@ with MSIE 3 is actually due to the Acrobat plugin, not due to the browser.
|
|||||||
version 3.01 is used with it, it will not properly understand byteranges.
|
version 3.01 is used with it, it will not properly understand byteranges.
|
||||||
The user must upgrade their Acrobat reader to 3.01.
|
The user must upgrade their Acrobat reader to 3.01.
|
||||||
|
|
||||||
<A name="cookie-merge"><h3><CODE>Set-Cookie</CODE> header is unmergeable</h3></A>
|
<A name="cookie-merge"><H3><CODE>Set-Cookie</CODE> header is unmergeable</H3></A>
|
||||||
|
|
||||||
<P>The HTTP specifications say that it is legal to merge headers with
|
<P>The HTTP specifications say that it is legal to merge headers with
|
||||||
duplicate names into one (separated by semicolon). Some browsers
|
duplicate names into one (separated by semicolon). Some browsers
|
||||||
@@ -194,7 +194,7 @@ that support Cookies don't like merged headers and prefer that each
|
|||||||
headers returned by a CGI, Apache will explicitly avoid merging any
|
headers returned by a CGI, Apache will explicitly avoid merging any
|
||||||
<CODE>Set-Cookie</CODE> headers.
|
<CODE>Set-Cookie</CODE> headers.
|
||||||
|
|
||||||
<A name="gif89-expires"><h3><CODE>Expires</CODE> headers and GIF89A animations</h3></A>
|
<A name="gif89-expires"><H3><CODE>Expires</CODE> headers and GIF89A animations</H3></A>
|
||||||
|
|
||||||
<P>Navigator versions 2 through 4 will erroneously re-request
|
<P>Navigator versions 2 through 4 will erroneously re-request
|
||||||
GIF89A animations on each loop of the animation if the first
|
GIF89A animations on each loop of the animation if the first
|
||||||
@@ -205,7 +205,7 @@ HREF="http://www.arctic.org/~dgaudet/patches/apache-1.2-gif89-expires-hack.patch
|
|||||||
and for <A
|
and for <A
|
||||||
HREF="http://www.arctic.org/~dgaudet/patches/apache-1.3-gif89-expires-hack.patch">1.3</A>.
|
HREF="http://www.arctic.org/~dgaudet/patches/apache-1.3-gif89-expires-hack.patch">1.3</A>.
|
||||||
|
|
||||||
<A name="no-content-length"><h3><CODE>POST</CODE> without <CODE>Content-Length</CODE></h3></A>
|
<A name="no-content-length"><H3><CODE>POST</CODE> without <CODE>Content-Length</CODE></H3></A>
|
||||||
|
|
||||||
<P>In certain situations Navigator 3.01 through 3.03 appear to incorrectly
|
<P>In certain situations Navigator 3.01 through 3.03 appear to incorrectly
|
||||||
issue a POST without the request body. There is no
|
issue a POST without the request body. There is no
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<P>Author: Dean Gaudet
|
<P>Author: Dean Gaudet
|
||||||
|
|
||||||
<h3>Introduction</h3>
|
<H3>Introduction</H3>
|
||||||
<P>Apache is a general webserver, which is designed to be correct first, and
|
<P>Apache is a general webserver, which is designed to be correct first, and
|
||||||
fast second. Even so, it's performance is quite satisfactory. Most
|
fast second. Even so, it's performance is quite satisfactory. Most
|
||||||
sites have less than 10Mbits of outgoing bandwidth, which Apache can
|
sites have less than 10Mbits of outgoing bandwidth, which Apache can
|
||||||
@@ -37,7 +37,7 @@ to Apache on NT. Apache on NT has not been tuned for performance yet,
|
|||||||
in fact it probably performs very poorly because NT performance requires
|
in fact it probably performs very poorly because NT performance requires
|
||||||
a different programming model.
|
a different programming model.
|
||||||
|
|
||||||
<h3>Hardware and Operating System Issues</h3>
|
<H3>Hardware and Operating System Issues</H3>
|
||||||
|
|
||||||
<P>The single biggest hardware issue affecting webserver performance
|
<P>The single biggest hardware issue affecting webserver performance
|
||||||
is RAM. A webserver should never ever have to swap, swapping increases
|
is RAM. A webserver should never ever have to swap, swapping increases
|
||||||
@@ -57,9 +57,9 @@ HTTP serving completely breaks many of the assumptions built into Unix
|
|||||||
kernels up through 1994 and even 1995. Good choices include
|
kernels up through 1994 and even 1995. Good choices include
|
||||||
recent FreeBSD, and Linux.
|
recent FreeBSD, and Linux.
|
||||||
|
|
||||||
<h3>Run-Time Configuration Issues</h3>
|
<H3>Run-Time Configuration Issues</H3>
|
||||||
|
|
||||||
<h4>HostnameLookups</h4>
|
<H4>HostnameLookups</H4>
|
||||||
<P>Prior to Apache 1.3, <CODE>HostnameLookups</CODE> defaulted to On.
|
<P>Prior to Apache 1.3, <CODE>HostnameLookups</CODE> defaulted to On.
|
||||||
This adds latency
|
This adds latency
|
||||||
to every request because it requires a DNS lookup to complete before
|
to every request because it requires a DNS lookup to complete before
|
||||||
@@ -88,7 +88,7 @@ But even still, if you just need DNS names
|
|||||||
in some CGIs you could consider doing the
|
in some CGIs you could consider doing the
|
||||||
<CODE>gethostbyname</CODE> call in the specific CGIs that need it.
|
<CODE>gethostbyname</CODE> call in the specific CGIs that need it.
|
||||||
|
|
||||||
<h4>FollowSymLinks and SymLinksIfOwnerMatch</h4>
|
<H4>FollowSymLinks and SymLinksIfOwnerMatch</H4>
|
||||||
<P>Wherever in your URL-space you do not have an
|
<P>Wherever in your URL-space you do not have an
|
||||||
<CODE>Options FollowSymLinks</CODE>, or you do have an
|
<CODE>Options FollowSymLinks</CODE>, or you do have an
|
||||||
<CODE>Options SymLinksIfOwnerMatch</CODE> Apache will have to
|
<CODE>Options SymLinksIfOwnerMatch</CODE> Apache will have to
|
||||||
@@ -126,7 +126,7 @@ document root. For highest performance, and no symlink protection,
|
|||||||
set <CODE>FollowSymLinks</CODE> everywhere, and never set
|
set <CODE>FollowSymLinks</CODE> everywhere, and never set
|
||||||
<CODE>SymLinksIfOwnerMatch</CODE>.
|
<CODE>SymLinksIfOwnerMatch</CODE>.
|
||||||
|
|
||||||
<h4>AllowOverride</h4>
|
<H4>AllowOverride</H4>
|
||||||
|
|
||||||
<P>Wherever in your URL-space you allow overrides (typically
|
<P>Wherever in your URL-space you allow overrides (typically
|
||||||
<CODE>.htaccess</CODE> files) Apache will attempt to open
|
<CODE>.htaccess</CODE> files) Apache will attempt to open
|
||||||
@@ -146,7 +146,7 @@ The solutions are similar to the previous case of <CODE>Options
|
|||||||
FollowSymLinks</CODE>. For highest performance use
|
FollowSymLinks</CODE>. For highest performance use
|
||||||
<CODE>AllowOverride None</CODE> everywhere in your filesystem.
|
<CODE>AllowOverride None</CODE> everywhere in your filesystem.
|
||||||
|
|
||||||
<h4>Negotiation</h4>
|
<H4>Negotiation</H4>
|
||||||
|
|
||||||
<P>If at all possible, avoid content-negotiation if you're really
|
<P>If at all possible, avoid content-negotiation if you're really
|
||||||
interested in every last ounce of performance. In practice the
|
interested in every last ounce of performance. In practice the
|
||||||
@@ -166,7 +166,7 @@ DirectoryIndex index.cgi index.pl index.shtml index.html
|
|||||||
|
|
||||||
where you list the most common choice first.
|
where you list the most common choice first.
|
||||||
|
|
||||||
<h4>Process Creation</h4>
|
<H4>Process Creation</H4>
|
||||||
|
|
||||||
<P>Prior to Apache 1.3 the <CODE>MinSpareServers</CODE>,
|
<P>Prior to Apache 1.3 the <CODE>MinSpareServers</CODE>,
|
||||||
<CODE>MaxSpareServers</CODE>, and <CODE>StartServers</CODE> settings
|
<CODE>MaxSpareServers</CODE>, and <CODE>StartServers</CODE> settings
|
||||||
@@ -218,9 +218,9 @@ In no event should you raise this above about 60 seconds, as
|
|||||||
<A HREF="http://www.research.digital.com/wrl/techreports/abstracts/95.4.html">
|
<A HREF="http://www.research.digital.com/wrl/techreports/abstracts/95.4.html">
|
||||||
most of the benefits are lost</A>.
|
most of the benefits are lost</A>.
|
||||||
|
|
||||||
<h3>Compile-Time Configuration Issues</h3>
|
<H3>Compile-Time Configuration Issues</H3>
|
||||||
|
|
||||||
<h4>mod_status and Rule STATUS=yes</h4>
|
<H4>mod_status and Rule STATUS=yes</H4>
|
||||||
|
|
||||||
<P>If you include <CODE>mod_status</CODE>
|
<P>If you include <CODE>mod_status</CODE>
|
||||||
and you also set <CODE>Rule STATUS=yes</CODE> when building
|
and you also set <CODE>Rule STATUS=yes</CODE> when building
|
||||||
@@ -231,7 +231,7 @@ on your operating system), and (pre-1.3) several extra calls to
|
|||||||
contains timing indications. For highest performance, set <CODE>Rule
|
contains timing indications. For highest performance, set <CODE>Rule
|
||||||
STATUS=no</CODE>.
|
STATUS=no</CODE>.
|
||||||
|
|
||||||
<h4>accept Serialization - multiple sockets</h4>
|
<H4>accept Serialization - multiple sockets</H4>
|
||||||
|
|
||||||
<P>This discusses a shortcoming in the Unix socket API.
|
<P>This discusses a shortcoming in the Unix socket API.
|
||||||
Suppose your
|
Suppose your
|
||||||
@@ -390,7 +390,7 @@ low because highly parallel web servers are not the norm.
|
|||||||
<P>Ideally you should run servers without multiple <CODE>Listen</CODE>
|
<P>Ideally you should run servers without multiple <CODE>Listen</CODE>
|
||||||
statements if you want the highest performance. But read on.
|
statements if you want the highest performance. But read on.
|
||||||
|
|
||||||
<h4>accept Serialization - single socket</h4>
|
<H4>accept Serialization - single socket</H4>
|
||||||
|
|
||||||
<P>The above is fine and dandy for multiple socket servers, but what
|
<P>The above is fine and dandy for multiple socket servers, but what
|
||||||
about single socket servers? In theory they shouldn't experience
|
about single socket servers? In theory they shouldn't experience
|
||||||
@@ -418,7 +418,7 @@ and only an issue on LANs. If you want to override the single socket
|
|||||||
serialization you can define <CODE>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</CODE>
|
serialization you can define <CODE>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</CODE>
|
||||||
and then single-socket servers will not serialize at all.
|
and then single-socket servers will not serialize at all.
|
||||||
|
|
||||||
<h4>Lingering Close</h4>
|
<H4>Lingering Close</H4>
|
||||||
|
|
||||||
<P>As discussed in
|
<P>As discussed in
|
||||||
<A HREF="ftp://ds.internic.net/internet-drafts/draft-ietf-http-connection-00.txt">draft-ietf-http-connection-00.txt</A> section 8,
|
<A HREF="ftp://ds.internic.net/internet-drafts/draft-ietf-http-connection-00.txt">draft-ietf-http-connection-00.txt</A> section 8,
|
||||||
@@ -484,7 +484,7 @@ is an absolute necessity (and
|
|||||||
pipelined connections are faster</A>, so you
|
pipelined connections are faster</A>, so you
|
||||||
want to support them).
|
want to support them).
|
||||||
|
|
||||||
<h4>Scoreboard File</h4>
|
<H4>Scoreboard File</H4>
|
||||||
|
|
||||||
<P>Apache's parent and children communicate with each other through
|
<P>Apache's parent and children communicate with each other through
|
||||||
something called the scoreboard. Ideally this should be implemented
|
something called the scoreboard. Ideally this should be implemented
|
||||||
@@ -506,7 +506,7 @@ shared memory until version 1.2 of Apache. This oversight resulted
|
|||||||
in really poor and unreliable behaviour of earlier versions of Apache
|
in really poor and unreliable behaviour of earlier versions of Apache
|
||||||
on Linux.
|
on Linux.
|
||||||
|
|
||||||
<h4><CODE>DYNAMIC_MODULE_LIMIT</CODE></h4>
|
<H4><CODE>DYNAMIC_MODULE_LIMIT</CODE></H4>
|
||||||
|
|
||||||
<P>If you have no intention of using dynamically loaded modules
|
<P>If you have no intention of using dynamically loaded modules
|
||||||
(you probably don't if you're reading this and tuning your
|
(you probably don't if you're reading this and tuning your
|
||||||
@@ -515,7 +515,7 @@ server for every last ounce of performance) then you should add
|
|||||||
This will save RAM that's allocated only for supporting dynamically
|
This will save RAM that's allocated only for supporting dynamically
|
||||||
loaded modules.
|
loaded modules.
|
||||||
|
|
||||||
<h3>Appendix: Detailed Analysis of a Trace</h3>
|
<H3>Appendix: Detailed Analysis of a Trace</H3>
|
||||||
|
|
||||||
Here is a system call trace of Apache 1.3 running on Linux. The run-time
|
Here is a system call trace of Apache 1.3 running on Linux. The run-time
|
||||||
configuration file is essentially the default plus:
|
configuration file is essentially the default plus:
|
||||||
@@ -780,7 +780,7 @@ munmap(0x400e3000, 6144) = 0
|
|||||||
That's 19 system calls, of which 4 remain relatively easy to remove,
|
That's 19 system calls, of which 4 remain relatively easy to remove,
|
||||||
but don't seem worth the effort.
|
but don't seem worth the effort.
|
||||||
|
|
||||||
<h3>Appendix: The Pre-Forking Model</h3>
|
<H3>Appendix: The Pre-Forking Model</H3>
|
||||||
|
|
||||||
<P>Apache (on Unix) is a <EM>pre-forking</EM> model server. The
|
<P>Apache (on Unix) is a <EM>pre-forking</EM> model server. The
|
||||||
<EM>parent</EM> process is responsible only for forking <EM>child</EM>
|
<EM>parent</EM> process is responsible only for forking <EM>child</EM>
|
||||||
|
@@ -1791,7 +1791,7 @@ sets the <CODE>SERVER_PORT</CODE> environment variable (for
|
|||||||
and is used when the server must generate a URL that refers to itself
|
and is used when the server must generate a URL that refers to itself
|
||||||
(for example when creating an external redirect to itself). This
|
(for example when creating an external redirect to itself). This
|
||||||
behaviour is modified by
|
behaviour is modified by
|
||||||
<a href="#usecanonicalname">UseCanonicalName</a>.
|
<A HREF="#usecanonicalname">UseCanonicalName</A>.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
In no event does a Port setting affect
|
In no event does a Port setting affect
|
||||||
@@ -1802,7 +1802,7 @@ The primary behaviour of Port should be considered to be similar to that of
|
|||||||
the <A HREF="#servername">ServerName</A> directive. The ServerName
|
the <A HREF="#servername">ServerName</A> directive. The ServerName
|
||||||
and Port together specify what you consider to be the <EM>canonical</EM>
|
and Port together specify what you consider to be the <EM>canonical</EM>
|
||||||
address of the server.
|
address of the server.
|
||||||
(See also <a href="#usecanonicalname">UseCanonicalName</a>.)<P>
|
(See also <A HREF="#usecanonicalname">UseCanonicalName</A>.)<P>
|
||||||
|
|
||||||
Port 80 is one of Unix's special ports. All ports numbered
|
Port 80 is one of Unix's special ports. All ports numbered
|
||||||
below 1024 are reserved for system use, i.e. regular (non-root) users cannot
|
below 1024 are reserved for system use, i.e. regular (non-root) users cannot
|
||||||
@@ -2190,9 +2190,9 @@ not work reliably, or may not return the preferred hostname. For example:
|
|||||||
<BLOCKQUOTE><CODE>ServerName www.wibble.com</CODE></BLOCKQUOTE>
|
<BLOCKQUOTE><CODE>ServerName www.wibble.com</CODE></BLOCKQUOTE>
|
||||||
would be used if the canonical (main) name of the actual machine
|
would be used if the canonical (main) name of the actual machine
|
||||||
were <CODE>monster.wibble.com</CODE>.<P>
|
were <CODE>monster.wibble.com</CODE>.<P>
|
||||||
<P><STRONG>See Also</STRONG>:<br>
|
<P><STRONG>See Also</STRONG>:<BR>
|
||||||
<A HREF="../dns-caveats.html">DNS Issues</A><br>
|
<A HREF="../dns-caveats.html">DNS Issues</A><BR>
|
||||||
<A HREF="#usecanonicalname">UseCanonicalName</A><br>
|
<A HREF="#usecanonicalname">UseCanonicalName</A><BR>
|
||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
@@ -2452,45 +2452,45 @@ a packet is sent.
|
|||||||
<A HREF="directive-dict.html#Compatibility" REL="Help">
|
<A HREF="directive-dict.html#Compatibility" REL="Help">
|
||||||
<STRONG>Compatibility:</STRONG></A> UseCanonicalName is only available in Apache 1.3 and later<P>
|
<STRONG>Compatibility:</STRONG></A> UseCanonicalName is only available in Apache 1.3 and later<P>
|
||||||
|
|
||||||
In many situations Apache has to construct a <i>self-referential</i>
|
In many situations Apache has to construct a <EM>self-referential</EM>
|
||||||
URL. That is, a URL which refers back to the same server.
|
URL. That is, a URL which refers back to the same server.
|
||||||
With <code>UseCanonicalName on</code> (and in all versions prior to
|
With <CODE>UseCanonicalName on</CODE> (and in all versions prior to
|
||||||
1.3) Apache will use the <a href="#servername">ServerName</a> and <a
|
1.3) Apache will use the <A HREF="#servername">ServerName</A> and <A
|
||||||
href="#port">Port</a> directives to construct a canonical name for the
|
HREF="#port">Port</A> directives to construct a canonical name for the
|
||||||
server. This name is used in all self-referential URLs, and for the
|
server. This name is used in all self-referential URLs, and for the
|
||||||
values of <code>SERVER_NAME</code> and <code>SERVER_PORT</code> in CGIs.
|
values of <CODE>SERVER_NAME</CODE> and <CODE>SERVER_PORT</CODE> in CGIs.
|
||||||
|
|
||||||
<p>With <code>UseCanonicalName off</code> Apache will form
|
<P>With <CODE>UseCanonicalName off</CODE> Apache will form
|
||||||
self-referential URLs using the hostname and port supplied
|
self-referential URLs using the hostname and port supplied
|
||||||
by the client if any are supplied (otherwise it will use the
|
by the client if any are supplied (otherwise it will use the
|
||||||
canonical name). These values are the same that are used to
|
canonical name). These values are the same that are used to
|
||||||
implement <a href="../vhosts/name-based.html">name based virtual
|
implement <A HREF="../vhosts/name-based.html">name based virtual
|
||||||
hosts</a>, and are available with the same clients. The CGI variables
|
hosts</A>, and are available with the same clients. The CGI variables
|
||||||
<code>SERVER_NAME</code> and <code>SERVER_PORT</code> will be constructed
|
<CODE>SERVER_NAME</CODE> and <CODE>SERVER_PORT</CODE> will be constructed
|
||||||
from the client supplied values as well.
|
from the client supplied values as well.
|
||||||
|
|
||||||
<p>An example where this may be useful is on an intranet server where
|
<P>An example where this may be useful is on an intranet server where
|
||||||
you have users connecting to the machine using short names such as
|
you have users connecting to the machine using short names such as
|
||||||
<code>www</code>. You'll notice that if the users type a shortname,
|
<CODE>www</CODE>. You'll notice that if the users type a shortname,
|
||||||
and a URL which is a directory, such as <code>http://www/splat</code>,
|
and a URL which is a directory, such as <CODE>http://www/splat</CODE>,
|
||||||
<i>without the trailing slash</i> then Apache will redirect them to
|
<EM>without the trailing slash</EM> then Apache will redirect them to
|
||||||
<code>http://www.domain.com/splat/</code>. If you have authentication
|
<CODE>http://www.domain.com/splat/</CODE>. If you have authentication
|
||||||
enabled, this will cause the user to have to reauthenticate twice (once
|
enabled, this will cause the user to have to reauthenticate twice (once
|
||||||
for <code>www</code> and once again for <code>www.domain.com</code>).
|
for <CODE>www</CODE> and once again for <CODE>www.domain.com</CODE>).
|
||||||
But if <code>UseCanonicalName</code> is set off, then Apache will redirect
|
But if <CODE>UseCanonicalName</CODE> is set off, then Apache will redirect
|
||||||
to <code>http://www/splat/</code>.
|
to <CODE>http://www/splat/</CODE>.
|
||||||
|
|
||||||
<p><b>Warning:</b> if CGIs make assumptions about the values of
|
<P><STRONG>Warning:</STRONG> if CGIs make assumptions about the values of
|
||||||
<code>SERVER_NAME</code> they may be broken by this option. The client
|
<CODE>SERVER_NAME</CODE> they may be broken by this option. The client
|
||||||
is essentially free to give whatever value they want as a hostname.
|
is essentially free to give whatever value they want as a hostname.
|
||||||
But if the CGI is only using <code>SERVER_NAME</code> to construct
|
But if the CGI is only using <CODE>SERVER_NAME</CODE> to construct
|
||||||
self-referential URLs then it should be just fine.
|
self-referential URLs then it should be just fine.
|
||||||
|
|
||||||
<p><strong>See also:</strong>
|
<P><STRONG>See also:</STRONG>
|
||||||
<a href="#servername">ServerName</a>,
|
<A HREF="#servername">ServerName</A>,
|
||||||
<a href="#port">Port</a>
|
<A HREF="#port">Port</A>
|
||||||
|
|
||||||
<p><hr>
|
<P><HR>
|
||||||
|
|
||||||
<H2><A name="user">User directive</A></H2>
|
<H2><A name="user">User directive</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt User} directive> -->
|
<!--%plaintext <?INDEX {\tt User} directive> -->
|
||||||
|
@@ -31,7 +31,7 @@ hostname or IP address.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="allow">allow directive</A></h2>
|
<H2><A name="allow">allow directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt allow} directive> -->
|
<!--%plaintext <?INDEX {\tt allow} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -137,7 +137,7 @@ and <A HREF="#order">order</A>.
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="deny">deny directive</A></h2>
|
<H2><A name="deny">deny directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt deny} directive> -->
|
<!--%plaintext <?INDEX {\tt deny} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -243,7 +243,7 @@ and <A HREF="#order">order</A>.
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="order">order directive</A></h2>
|
<H2><A name="order">order directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt order} directive> -->
|
<!--%plaintext <?INDEX {\tt order} directive> -->
|
||||||
<A
|
<A
|
||||||
|
@@ -20,13 +20,13 @@ is compiled in by default. It provides for
|
|||||||
executing CGI scripts based on media type or request method. It is not
|
executing CGI scripts based on media type or request method. It is not
|
||||||
present in versions prior to Apache 1.1.
|
present in versions prior to Apache 1.1.
|
||||||
</P>
|
</P>
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
<P>
|
<P>
|
||||||
This module lets you run CGI scripts whenever a file of a certain type
|
This module lets you run CGI scripts whenever a file of a certain type
|
||||||
is requested. This makes it much easier to execute scripts that
|
is requested. This makes it much easier to execute scripts that
|
||||||
process files.
|
process files.
|
||||||
</P>
|
</P>
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#action">Action</A>
|
<LI><A HREF="#action">Action</A>
|
||||||
<LI><A HREF="#script">Script</A>
|
<LI><A HREF="#script">Script</A>
|
||||||
@@ -34,7 +34,7 @@ process files.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="action">Action directive</A></h2>
|
<H2><A name="action">Action directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -70,7 +70,7 @@ CGI PATH_INFO and PATH_TRANSLATED environment variables.
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="script">Script directive</A></h2>
|
<H2><A name="script">Script directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -35,7 +35,7 @@ host filesystem in the the document tree, and for URL redirection.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="alias">Alias directive</A></h2>
|
<H2><A name="alias">Alias directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt Alias} directive> -->
|
<!--%plaintext <?INDEX {\tt Alias} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -79,7 +79,7 @@ See also <A HREF="#scriptalias">ScriptAlias</A>.
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="aliasmatch">AliasMatch</A></h2>
|
<H2><A name="aliasmatch">AliasMatch</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -116,7 +116,7 @@ to activate the <CODE>/icons</CODE> directory, one might use:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="redirect">Redirect directive</A></h2>
|
<H2><A name="redirect">Redirect directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt Redirect} directive> -->
|
<!--%plaintext <?INDEX {\tt Redirect} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -195,7 +195,7 @@ the function <CODE>send_error_response</CODE> in http_protocol.c).
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="redirectmatch">RedirectMatch</A></h2>
|
<H2><A name="redirectmatch">RedirectMatch</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -233,7 +233,7 @@ one might use:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="redirecttemp">RedirectTemp directive</A></h2>
|
<H2><A name="redirecttemp">RedirectTemp directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt Redirect} directive> -->
|
<!--%plaintext <?INDEX {\tt Redirect} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -264,7 +264,7 @@ temporary</CODE>.
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="redirectperm">RedirectPermanent directive</A></h2>
|
<H2><A name="redirectperm">RedirectPermanent directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt Redirect} directive> -->
|
<!--%plaintext <?INDEX {\tt Redirect} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -294,7 +294,7 @@ This directive makes the client know that the Redirect is permanent
|
|||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="scriptalias">ScriptAlias directive</A></h2>
|
<H2><A name="scriptalias">ScriptAlias directive</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<!--%plaintext <?INDEX {\tt ScriptAlias} directive> -->
|
<!--%plaintext <?INDEX {\tt ScriptAlias} directive> -->
|
||||||
<A
|
<A
|
||||||
@@ -331,7 +331,7 @@ run the script /web/cgi-bin/foo.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="scriptaliasmatch">ScriptAliasMatch</A></h2>
|
<H2><A name="scriptaliasmatch">ScriptAliasMatch</A></H2>
|
||||||
<P>
|
<P>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -22,14 +22,14 @@ document with mime type <CODE>httpd/send-as-is</CODE> will be processed by
|
|||||||
this module.
|
this module.
|
||||||
<!--%plaintext <?INDEX {\tt httpd/send-as-is} mime type> -->
|
<!--%plaintext <?INDEX {\tt httpd/send-as-is} mime type> -->
|
||||||
|
|
||||||
<h2>Purpose</h2>
|
<H2>Purpose</H2>
|
||||||
To allow file types to be defined such that Apache sends them without
|
To allow file types to be defined such that Apache sends them without
|
||||||
adding HTTP headers.<P>
|
adding HTTP headers.<P>
|
||||||
|
|
||||||
This can be used to send any kind of data from the server, including redirects
|
This can be used to send any kind of data from the server, including redirects
|
||||||
and other special HTTP responses, without requiring a cgi-script or an nph
|
and other special HTTP responses, without requiring a cgi-script or an nph
|
||||||
script.
|
script.
|
||||||
<h2>Usage</h2>
|
<H2>Usage</H2>
|
||||||
In the server configuration file, define a new mime type called
|
In the server configuration file, define a new mime type called
|
||||||
<CODE>httpd/send-as-is</CODE> e.g.
|
<CODE>httpd/send-as-is</CODE> e.g.
|
||||||
<BLOCKQUOTE><CODE>AddType httpd/send-as-is asis</CODE></BLOCKQUOTE>
|
<BLOCKQUOTE><CODE>AddType httpd/send-as-is asis</CODE></BLOCKQUOTE>
|
||||||
|
@@ -29,7 +29,7 @@ textual files.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<A name="authgroupfile"><h2>AuthGroupFile</h2></A>
|
<A name="authgroupfile"><H2>AuthGroupFile</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthGroupFile} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthGroupFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -72,7 +72,7 @@ See also <A HREF="core.html#authname">AuthName</A>,
|
|||||||
<A HREF="core.html#authtype">AuthType</A> and
|
<A HREF="core.html#authtype">AuthType</A> and
|
||||||
<A HREF="#authuserfile">AuthUserFile</A>.<P><HR>
|
<A HREF="#authuserfile">AuthUserFile</A>.<P><HR>
|
||||||
|
|
||||||
<A name="authuserfile"><h2>AuthUserFile</h2></A>
|
<A name="authuserfile"><H2>AuthUserFile</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthUserFile} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthUserFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -117,7 +117,7 @@ See also <A HREF="core.html#authname">AuthName</A>,
|
|||||||
<A HREF="core.html#authtype">AuthType</A> and
|
<A HREF="core.html#authtype">AuthType</A> and
|
||||||
<A HREF="#authgroupfile">AuthGroupFile</A>.<P>
|
<A HREF="#authgroupfile">AuthGroupFile</A>.<P>
|
||||||
<HR>
|
<HR>
|
||||||
<A name="authauthoritative"><h2>AuthAuthoritative</h2></A>
|
<A name="authauthoritative"><H2>AuthAuthoritative</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthAuthoritative} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthAuthoritative} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -18,7 +18,7 @@ This module is contained in the <CODE>mod_auth_anon.c</CODE> file and
|
|||||||
is not compiled in by default. It is only available in Apache 1.1 and
|
is not compiled in by default. It is only available in Apache 1.1 and
|
||||||
later. It allows "anonymous" user access to authenticated areas.
|
later. It allows "anonymous" user access to authenticated areas.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
It does access control in a manner similar to anonymous-ftp sites; i.e.
|
It does access control in a manner similar to anonymous-ftp sites; i.e.
|
||||||
have a 'magic' user id 'anonymous' and the email address as a password.
|
have a 'magic' user id 'anonymous' and the email address as a password.
|
||||||
@@ -40,7 +40,7 @@ allows users to share URLs.
|
|||||||
<A HREF="#Sourcecode">Sourcecode</A>
|
<A HREF="#Sourcecode">Sourcecode</A>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2><A name="Directives">Directives</A></h2>
|
<H2><A name="Directives">Directives</A></H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#anonymous">Anonymous</A>
|
<LI><A HREF="#anonymous">Anonymous</A>
|
||||||
<LI><A HREF="#Authoritative">Anonymous_Authoritative</A>
|
<LI><A HREF="#Authoritative">Anonymous_Authoritative</A>
|
||||||
@@ -52,7 +52,7 @@ allows users to share URLs.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="anonymous">Anonymous directive</A></h2>
|
<H2><A name="anonymous">Anonymous directive</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt Anonymous} directive> -->
|
<!--%plaintext <?INDEX {\tt Anonymous} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -98,7 +98,7 @@ allows users to share URLs.
|
|||||||
'I Don't Know'.
|
'I Don't Know'.
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="Authoritative">Anonymous_Authoritative directive</A></h2>
|
<H2><A name="Authoritative">Anonymous_Authoritative directive</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -135,7 +135,7 @@ allows users to share URLs.
|
|||||||
in which the Authorization modules are queried.
|
in which the Authorization modules are queried.
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="LogEmail">Anonymous_LogEmail directive</A></h2>
|
<H2><A name="LogEmail">Anonymous_LogEmail directive</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -165,7 +165,7 @@ allows users to share URLs.
|
|||||||
contains a sensible email address) is logged in the httpd-log file.
|
contains a sensible email address) is logged in the httpd-log file.
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="MustGiveEmail">Anonymous_MustGiveEmail directive</A></h2>
|
<H2><A name="MustGiveEmail">Anonymous_MustGiveEmail directive</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt Anonymous_MustGiveEmail} directive> -->
|
<!--%plaintext <?INDEX {\tt Anonymous_MustGiveEmail} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -196,7 +196,7 @@ allows users to share URLs.
|
|||||||
address as the password. This prohibits blank passwords.
|
address as the password. This prohibits blank passwords.
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="NoUserID">Anonymous_NoUserID directive</A></h2>
|
<H2><A name="NoUserID">Anonymous_NoUserID directive</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -230,7 +230,7 @@ allows users to share URLs.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="VerifyEmail">Anonymous_VerifyEmail directive</A></h2>
|
<H2><A name="VerifyEmail">Anonymous_VerifyEmail directive</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -261,7 +261,7 @@ allows users to share URLs.
|
|||||||
valid email addresses (see the above <CODE>Auth_LogEmail</CODE>).
|
valid email addresses (see the above <CODE>Auth_LogEmail</CODE>).
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A name="Example">Example</A></h2>
|
<H2><A name="Example">Example</A></H2>
|
||||||
|
|
||||||
The example below (when combined with the Auth directives
|
The example below (when combined with the Auth directives
|
||||||
of a htpasswd-file based (or GDM, mSQL <EM>etc.</EM>) base access
|
of a htpasswd-file based (or GDM, mSQL <EM>etc.</EM>) base access
|
||||||
@@ -309,12 +309,12 @@ require valid-user <BR>
|
|||||||
|
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A name="CompileTimeOptions">Compile Time Options</A></h2>
|
<H2><A name="CompileTimeOptions">Compile Time Options</A></H2>
|
||||||
|
|
||||||
Currently there are no Compile options.
|
Currently there are no Compile options.
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A name="RevisionHistory">Revision History</A></h2>
|
<H2><A name="RevisionHistory">Revision History</A></H2>
|
||||||
|
|
||||||
This version: 23 Nov 1995, 24 Feb 1996, 16 May 1996.
|
This version: 23 Nov 1995, 24 Feb 1996, 16 May 1996.
|
||||||
|
|
||||||
@@ -332,7 +332,7 @@ This version: 23 Nov 1995, 24 Feb 1996, 16 May 1996.
|
|||||||
|
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A name="Person">Contact/person to blame</A></h2>
|
<H2><A name="Person">Contact/person to blame</A></H2>
|
||||||
|
|
||||||
This module was written for the
|
This module was written for the
|
||||||
<A HREF="http://ewse.ceo.org">European Wide Service Exchange</A> by
|
<A HREF="http://ewse.ceo.org">European Wide Service Exchange</A> by
|
||||||
@@ -344,7 +344,7 @@ documentation, courtesy of Nick Himba, <A HREF="mailto:himba@cs.utwente.nl">
|
|||||||
|
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A NAME="Sourcecode">Sourcecode</A></h2>
|
<H2><A NAME="Sourcecode">Sourcecode</A></H2>
|
||||||
|
|
||||||
The source code can be found at <A HREF="http://www.apache.org"><CODE>
|
The source code can be found at <A HREF="http://www.apache.org"><CODE>
|
||||||
http://www.apache.org</CODE></A>. A snapshot of a development version
|
http://www.apache.org</CODE></A>. A snapshot of a development version
|
||||||
|
@@ -30,7 +30,7 @@ available in Apache 1.1 and later.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<A name="authdbgroupfile"><h2>AuthDBGroupFile</h2></A>
|
<A name="authdbgroupfile"><H2>AuthDBGroupFile</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthDBGroupFile} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthDBGroupFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -93,7 +93,7 @@ See also <A HREF="core.html#authname">AuthName</A>,
|
|||||||
<A HREF="core.html#authtype">AuthType</A> and
|
<A HREF="core.html#authtype">AuthType</A> and
|
||||||
<A HREF="#authdbuserfile">AuthDBUserFile</A>.<P><HR>
|
<A HREF="#authdbuserfile">AuthDBUserFile</A>.<P><HR>
|
||||||
|
|
||||||
<A name="authdbuserfile"><h2>AuthDBUserFile</h2></A>
|
<A name="authdbuserfile"><H2>AuthDBUserFile</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthDBUserFile} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthDBUserFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -142,7 +142,7 @@ See also <A HREF="core.html#authname">AuthName</A>,
|
|||||||
<A HREF="core.html#authtype">AuthType</A> and
|
<A HREF="core.html#authtype">AuthType</A> and
|
||||||
<A HREF="#authdbgroupfile">AuthDBGroupFile</A>.<P>
|
<A HREF="#authdbgroupfile">AuthDBGroupFile</A>.<P>
|
||||||
<HR>
|
<HR>
|
||||||
<A name="authdbauthoritative"><h2>AuthDBAuthoritative</h2></A>
|
<A name="authdbauthoritative"><H2>AuthDBAuthoritative</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthDBAuthoritative} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthDBAuthoritative} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -29,7 +29,7 @@ DBM files.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<A name="authdbmgroupfile"><h2>AuthDbmGroupFile</h2></A>
|
<A name="authdbmgroupfile"><H2>AuthDbmGroupFile</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthDbmGroupFile} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthDbmGroupFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -93,7 +93,7 @@ See also <A HREF="core.html#authname">AuthName</A>,
|
|||||||
<A HREF="core.html#authtype">AuthType</A> and
|
<A HREF="core.html#authtype">AuthType</A> and
|
||||||
<A HREF="#authdbmuserfile">AuthDBMUserFile</A>.<P><HR>
|
<A HREF="#authdbmuserfile">AuthDBMUserFile</A>.<P><HR>
|
||||||
|
|
||||||
<A name="authdbmuserfile"><h2>AuthDBMUserFile</h2></A>
|
<A name="authdbmuserfile"><H2>AuthDBMUserFile</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthDBMUserFile} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthDBMUserFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -143,7 +143,7 @@ See also <A HREF="core.html#authname">AuthName</A>,
|
|||||||
<A HREF="#authdbmgroupfile">AuthDBMGroupFile</A>.<P>
|
<A HREF="#authdbmgroupfile">AuthDBMGroupFile</A>.<P>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<A name="authdbmauthoritative"><h2>AuthDBMAuthoritative</h2></A>
|
<A name="authdbmauthoritative"><H2>AuthDBMAuthoritative</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AuthDBMAuthoritative} directive> -->
|
<!--%plaintext <?INDEX {\tt AuthDBMAuthoritative} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
This module is contained in the <CODE>mod_autoindex.c</CODE> file, and
|
This module is contained in the <CODE>mod_autoindex.c</CODE> file, and
|
||||||
is compiled in by default. It provides for automatic directory indexing.
|
is compiled in by default. It provides for automatic directory indexing.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
The index of a directory can come from one of two sources:
|
The index of a directory can come from one of two sources:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>A file written by the user, typically called <CODE>index.html</CODE>.
|
<LI>A file written by the user, typically called <CODE>index.html</CODE>.
|
||||||
@@ -59,7 +59,7 @@ order) even though they both are shown as "1K".
|
|||||||
</P>
|
</P>
|
||||||
|
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<MENU>
|
<MENU>
|
||||||
<LI><A HREF="#addalt">AddAlt</A>
|
<LI><A HREF="#addalt">AddAlt</A>
|
||||||
@@ -78,7 +78,7 @@ order) even though they both are shown as "1K".
|
|||||||
</MENU>
|
</MENU>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="addalt"><h2>AddAlt</h2></A>
|
<A name="addalt"><H2>AddAlt</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddAlt} directive> -->
|
<!--%plaintext <?INDEX {\tt AddAlt} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -109,7 +109,7 @@ to describe. <EM>String</EM> is enclosed in double quotes
|
|||||||
image-incapable or has image loading disabled.
|
image-incapable or has image loading disabled.
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<A name="addaltbyencoding"><h2>AddAltByEncoding</h2></A>
|
<A name="addaltbyencoding"><H2>AddAltByEncoding</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddAltByEncoding} directive> -->
|
<!--%plaintext <?INDEX {\tt AddAltByEncoding} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -141,7 +141,7 @@ valid content-encoding, such as <SAMP>x-compress</SAMP>.
|
|||||||
image-incapable or has image loading disabled.
|
image-incapable or has image loading disabled.
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<A name="addaltbytype"><h2>AddAltByType</h2></A>
|
<A name="addaltbytype"><H2>AddAltByType</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddAltByType} directive> -->
|
<!--%plaintext <?INDEX {\tt AddAltByType} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -173,7 +173,7 @@ image-incapable or has image loading disabled.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="adddescription"><h2>AddDescription</h2></A>
|
<A name="adddescription"><H2>AddDescription</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddDescription} directive> -->
|
<!--%plaintext <?INDEX {\tt AddDescription} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -204,7 +204,7 @@ to describe. <EM>String</EM> is enclosed in double quotes
|
|||||||
<BLOCKQUOTE><CODE>AddDescription "The planet Mars" /web/pics/mars.gif
|
<BLOCKQUOTE><CODE>AddDescription "The planet Mars" /web/pics/mars.gif
|
||||||
</CODE></BLOCKQUOTE><P><HR>
|
</CODE></BLOCKQUOTE><P><HR>
|
||||||
|
|
||||||
<A name="addicon"><h2>AddIcon</h2></A>
|
<A name="addicon"><H2>AddIcon</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddIcon} directive> -->
|
<!--%plaintext <?INDEX {\tt AddIcon} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -244,7 +244,7 @@ AddIcon /icons/backup.xbm *~
|
|||||||
<A HREF="#addiconbytype">AddIconByType</A> should be used in preference to
|
<A HREF="#addiconbytype">AddIconByType</A> should be used in preference to
|
||||||
AddIcon, when possible.<P><HR>
|
AddIcon, when possible.<P><HR>
|
||||||
|
|
||||||
<A name="addiconbyencoding"><h2>AddIconByEncoding</h2></A>
|
<A name="addiconbyencoding"><H2>AddIconByEncoding</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddIconByEncoding} directive> -->
|
<!--%plaintext <?INDEX {\tt AddIconByEncoding} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -280,7 +280,7 @@ content-encoding. Examples:
|
|||||||
AddIconByEncoding /icons/compress.xbm x-compress
|
AddIconByEncoding /icons/compress.xbm x-compress
|
||||||
</CODE></BLOCKQUOTE><P><HR>
|
</CODE></BLOCKQUOTE><P><HR>
|
||||||
|
|
||||||
<A name="addiconbytype"><h2>AddIconByType</h2></A>
|
<A name="addiconbytype"><H2>AddIconByType</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt AddIconByType} directive> -->
|
<!--%plaintext <?INDEX {\tt AddIconByType} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -314,7 +314,7 @@ Examples:
|
|||||||
AddIconByType (IMG,/icons/image.xbm) image/*
|
AddIconByType (IMG,/icons/image.xbm) image/*
|
||||||
</CODE></BLOCKQUOTE><P><HR>
|
</CODE></BLOCKQUOTE><P><HR>
|
||||||
|
|
||||||
<A name="defaulticon"><h2>DefaultIcon</h2></A>
|
<A name="defaulticon"><H2>DefaultIcon</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt DefaultIcon} directive> -->
|
<!--%plaintext <?INDEX {\tt DefaultIcon} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -344,7 +344,7 @@ specific icon is known, for <A HREF="#fancyindexing">FancyIndexing</A>.
|
|||||||
DefaultIcon /icon/unknown.xbm
|
DefaultIcon /icon/unknown.xbm
|
||||||
</CODE></BLOCKQUOTE><P><HR>
|
</CODE></BLOCKQUOTE><P><HR>
|
||||||
|
|
||||||
<A name="fancyindexing"><h2>FancyIndexing</h2></A>
|
<A name="fancyindexing"><H2>FancyIndexing</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt FancyIndexing} directive> -->
|
<!--%plaintext <?INDEX {\tt FancyIndexing} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -380,7 +380,7 @@ preference.
|
|||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="headername"><h2>HeaderName</h2></A>
|
<A name="headername"><H2>HeaderName</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt HeaderName} directive> -->
|
<!--%plaintext <?INDEX {\tt HeaderName} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -416,7 +416,7 @@ it will include the plain text file <CODE>/web/HEADER</CODE>, if it exists.
|
|||||||
|
|
||||||
<P>See also <A HREF="#readmename">ReadmeName</A>.<P><HR>
|
<P>See also <A HREF="#readmename">ReadmeName</A>.<P><HR>
|
||||||
|
|
||||||
<A name="indexignore"><h2>IndexIgnore</h2></A>
|
<A name="indexignore"><H2>IndexIgnore</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt IndexIgnore} directive> -->
|
<!--%plaintext <?INDEX {\tt IndexIgnore} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -448,7 +448,7 @@ of ignored files. By default, the list contains `<CODE>.</CODE>'. Example:
|
|||||||
IndexIgnore README .htaccess *~
|
IndexIgnore README .htaccess *~
|
||||||
</CODE></BLOCKQUOTE><P><HR>
|
</CODE></BLOCKQUOTE><P><HR>
|
||||||
|
|
||||||
<A name="indexoptions"><h2>IndexOptions</h2></A>
|
<A name="indexoptions"><H2>IndexOptions</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt IndexOptions} directive> -->
|
<!--%plaintext <?INDEX {\tt IndexOptions} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -563,7 +563,7 @@ IndexOptions ScanHTMLTitles <BR>
|
|||||||
then only <CODE>ScanHTMLTitles</CODE> will be set for the /web/docs/spec
|
then only <CODE>ScanHTMLTitles</CODE> will be set for the /web/docs/spec
|
||||||
directory.<P><HR>
|
directory.<P><HR>
|
||||||
|
|
||||||
<A name="readmename"><h2>ReadmeName</h2></A>
|
<A name="readmename"><H2>ReadmeName</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt ReadmeName} directive> -->
|
<!--%plaintext <?INDEX {\tt ReadmeName} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -19,7 +19,7 @@ This module is contained in the <CODE>mod_cern_meta.c</CODE> file, and
|
|||||||
is not compiled in by default. It provides for CERN httpd metafile
|
is not compiled in by default. It provides for CERN httpd metafile
|
||||||
semantics. It is only available in Apache 1.1 and later.
|
semantics. It is only available in Apache 1.1 and later.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP
|
Emulate the CERN HTTPD Meta file semantics. Meta files are HTTP
|
||||||
headers that can be output in addition to the normal range of headers
|
headers that can be output in addition to the normal range of headers
|
||||||
@@ -34,7 +34,7 @@ who can exploit this module.
|
|||||||
<A HREF="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir
|
<A HREF="http://www.w3.org/pub/WWW/Daemon/User/Config/General.html#MetaDir
|
||||||
">CERN metafile semantics</A> is available.
|
">CERN metafile semantics</A> is available.
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#metafiles">MetaFiles</A>
|
<LI><A HREF="#metafiles">MetaFiles</A>
|
||||||
<LI><A HREF="#metadir">MetaDir</A>
|
<LI><A HREF="#metadir">MetaDir</A>
|
||||||
@@ -43,7 +43,7 @@ who can exploit this module.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="metafiles">MetaFiles</A></h2>
|
<H2><A name="metafiles">MetaFiles</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -72,7 +72,7 @@ and later.<P>
|
|||||||
|
|
||||||
Turns on/off Meta file processing on a per-directory basis. This option was introduced in Apache 1.3.
|
Turns on/off Meta file processing on a per-directory basis. This option was introduced in Apache 1.3.
|
||||||
|
|
||||||
<h2><A name="metadir">MetaDir</A></h2>
|
<H2><A name="metadir">MetaDir</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -103,7 +103,7 @@ subdirectory of the directory that contains the file being
|
|||||||
accessed. Set to "<CODE>.</CODE>" to look in the same directory as the
|
accessed. Set to "<CODE>.</CODE>" to look in the same directory as the
|
||||||
file.
|
file.
|
||||||
|
|
||||||
<h2><A name="metasuffix">MetaSuffix</A></h2>
|
<H2><A name="metasuffix">MetaSuffix</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
|
|
||||||
<h1 ALIGN="CENTER">Module mod_cgi</H1>
|
<H1 ALIGN="CENTER">Module mod_cgi</H1>
|
||||||
|
|
||||||
This module is contained in the <CODE>mod_cgi.c</CODE> file, and
|
This module is contained in the <CODE>mod_cgi.c</CODE> file, and
|
||||||
is compiled in by default. It provides for execution of CGI scripts.
|
is compiled in by default. It provides for execution of CGI scripts.
|
||||||
@@ -23,7 +23,7 @@ processed by this module.
|
|||||||
<!--%plaintext <?INDEX {\tt application/x-httpd-cgi} mime type> -->
|
<!--%plaintext <?INDEX {\tt application/x-httpd-cgi} mime type> -->
|
||||||
<!--%plaintext <?INDEX CGI scripts> -->
|
<!--%plaintext <?INDEX CGI scripts> -->
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
Any file that has the mime type <CODE>application/x-httpd-cgi</CODE>
|
Any file that has the mime type <CODE>application/x-httpd-cgi</CODE>
|
||||||
or handler <CODE>cgi-script</CODE> (Apache 1.1 or later)
|
or handler <CODE>cgi-script</CODE> (Apache 1.1 or later)
|
||||||
will be treated as a CGI script, and run by the server, with its output
|
will be treated as a CGI script, and run by the server, with its output
|
||||||
@@ -37,7 +37,7 @@ When the server invokes a CGI script, it will add a variable called
|
|||||||
value of the <A HREF="core.html#documentroot">DocumentRoot</A>
|
value of the <A HREF="core.html#documentroot">DocumentRoot</A>
|
||||||
configuration variable.
|
configuration variable.
|
||||||
|
|
||||||
<h2>CGI Environment variables</h2>
|
<H2>CGI Environment variables</H2>
|
||||||
The server will set the CGI environment variables as described in the
|
The server will set the CGI environment variables as described in the
|
||||||
<A HREF="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI specification</A>, with the
|
<A HREF="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI specification</A>, with the
|
||||||
following provisions:
|
following provisions:
|
||||||
@@ -55,7 +55,7 @@ following provisions:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="cgi_debug">CGI Debugging</A></h2>
|
<H2><A name="cgi_debug">CGI Debugging</A></H2>
|
||||||
|
|
||||||
Debugging CGI scripts has traditionally been difficult, mainly because
|
Debugging CGI scripts has traditionally been difficult, mainly because
|
||||||
it has
|
it has
|
||||||
@@ -68,7 +68,7 @@ more detailed logging of errors when they occur.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>CGI Logfile Format</h2>
|
<H2>CGI Logfile Format</H2>
|
||||||
|
|
||||||
When configured, the CGI error log logs any CGI which does not execute
|
When configured, the CGI error log logs any CGI which does not execute
|
||||||
properly. Each CGI script which fails to operate causes several lines
|
properly. Each CGI script which fails to operate causes several lines
|
||||||
@@ -111,9 +111,9 @@ anything on standard output or standard error).
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<h3><A name="scriptlog">ScriptLog</A></h3>
|
<H3><A name="scriptlog">ScriptLog</A></H3>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -153,7 +153,7 @@ running servers. It is not optimized for speed or efficiency, and may
|
|||||||
have security problems if used in a manner other than that for which
|
have security problems if used in a manner other than that for which
|
||||||
it was designed.</P>
|
it was designed.</P>
|
||||||
|
|
||||||
<h3><A name="scriptloglength">ScriptLogLength</A></h3>
|
<H3><A name="scriptloglength">ScriptLogLength</A></H3>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -180,7 +180,7 @@ file. To prevent problems due to unbounded growth, this directive can
|
|||||||
be used to set an maximum file-size for the CGI logfile. If the file
|
be used to set an maximum file-size for the CGI logfile. If the file
|
||||||
exceeds this size, no more information will be written to it.
|
exceeds this size, no more information will be written to it.
|
||||||
|
|
||||||
<h3><A name="scriptlogbuffer">ScriptLogBuffer</A></h3>
|
<H3><A name="scriptlogbuffer">ScriptLogBuffer</A></H3>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -19,7 +19,7 @@ This module is contained in the <CODE>mod_dir.c</CODE> file, and
|
|||||||
is compiled in by default. It provides for "trailing slash" redirects and
|
is compiled in by default. It provides for "trailing slash" redirects and
|
||||||
serving directory index files.
|
serving directory index files.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
The index of a directory can come from one of two sources:
|
The index of a directory can come from one of two sources:
|
||||||
<UL>
|
<UL>
|
||||||
<LI>A file written by the user, typically called <CODE>index.html</CODE>.
|
<LI>A file written by the user, typically called <CODE>index.html</CODE>.
|
||||||
@@ -37,14 +37,14 @@ request for a URL <SAMP>http://servername/foo/dirname</SAMP> where
|
|||||||
slash, so <CODE>mod_dir</CODE> issues a redirect to
|
slash, so <CODE>mod_dir</CODE> issues a redirect to
|
||||||
<SAMP>http://servername/foo/dirname/</SAMP>.
|
<SAMP>http://servername/foo/dirname/</SAMP>.
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<MENU>
|
<MENU>
|
||||||
<LI><A HREF="#directoryindex">DirectoryIndex</A>
|
<LI><A HREF="#directoryindex">DirectoryIndex</A>
|
||||||
</MENU>
|
</MENU>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="directoryindex"><h2>DirectoryIndex</h2></A>
|
<A name="directoryindex"><H2>DirectoryIndex</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt DirectoryIndex} directive> -->
|
<!--%plaintext <?INDEX {\tt DirectoryIndex} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -20,7 +20,7 @@ is not compiled in by default. It provides for
|
|||||||
passing environment variables to CGI/SSI scripts. Is is only available
|
passing environment variables to CGI/SSI scripts. Is is only available
|
||||||
in Apache 1.1 and later.
|
in Apache 1.1 and later.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This module allows Apache's CGI and SSI environment to inherit
|
This module allows Apache's CGI and SSI environment to inherit
|
||||||
environment variables from the shell which invoked the httpd process.
|
environment variables from the shell which invoked the httpd process.
|
||||||
@@ -28,7 +28,7 @@ CERN web-servers are able to do this, so this module is especially
|
|||||||
useful to web-admins who wish to migrate from CERN to Apache without
|
useful to web-admins who wish to migrate from CERN to Apache without
|
||||||
rewriting all their scripts
|
rewriting all their scripts
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#passenv">PassEnv</A>
|
<LI><A HREF="#passenv">PassEnv</A>
|
||||||
<LI><A HREF="#setenv">SetEnv</A>
|
<LI><A HREF="#setenv">SetEnv</A>
|
||||||
@@ -37,7 +37,7 @@ rewriting all their scripts
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="passenv">PassEnv</A></h2>
|
<H2><A name="passenv">PassEnv</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -68,7 +68,7 @@ from the server's own environment. Example:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="setenv">SetEnv</A></h2>
|
<H2><A name="setenv">SetEnv</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -99,7 +99,7 @@ scripts. Example:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="unsetenv">UnsetEnv</A></h2>
|
<H2><A name="unsetenv">UnsetEnv</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Module mod_headers</H1>
|
<H1 ALIGN="CENTER">Module mod_headers</H1>
|
||||||
|
|
||||||
The optional headers module allows for the customization of HTTP
|
The optional headers module allows for the customization of HTTP
|
||||||
response headers. Headers can be merged, replaced or removed. The
|
response headers. Headers can be merged, replaced or removed. The
|
||||||
@@ -22,14 +22,14 @@ compiled with <STRONG>mod_headers.c</STRONG>.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Directive</h2>
|
<H2>Directive</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#header">Header</A>
|
<LI><A HREF="#header">Header</A>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="header">Header</A></h2>
|
<H2><A name="header">Header</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -82,7 +82,7 @@ add, append and set a value is given as the third argument. If this
|
|||||||
value contains spaces, it should be surrounded by double quotes.
|
value contains spaces, it should be surrounded by double quotes.
|
||||||
For unset, no value should be given.
|
For unset, no value should be given.
|
||||||
|
|
||||||
<h3>Order of Processing</h3>
|
<H3>Order of Processing</H3>
|
||||||
|
|
||||||
The Header directive can occur almost anywhere within the server
|
The Header directive can occur almost anywhere within the server
|
||||||
configuration. It is valid in the main server config and virtual host
|
configuration. It is valid in the main server config and virtual host
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Module mod_imap</H1>
|
<H1 ALIGN="CENTER">Module mod_imap</H1>
|
||||||
|
|
||||||
This module is contained in the <CODE>mod_imap.c</CODE> file, and is
|
This module is contained in the <CODE>mod_imap.c</CODE> file, and is
|
||||||
compiled in by default. It provides for <CODE>.map</CODE> files,
|
compiled in by default. It provides for <CODE>.map</CODE> files,
|
||||||
@@ -24,7 +24,7 @@ HREF="mod_mime.html#addhandler">AddHandler</A> </CODE> or <CODE><A
|
|||||||
HREF="mod_mime.html#sethandler">SetHandler</A></CODE>) will be
|
HREF="mod_mime.html#sethandler">SetHandler</A></CODE>) will be
|
||||||
processed by this module.
|
processed by this module.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This module is in the default Apache distribution. The following directive will
|
This module is in the default Apache distribution. The following directive will
|
||||||
activate files ending with <CODE>.map</CODE> as imagemap files:
|
activate files ending with <CODE>.map</CODE> as imagemap files:
|
||||||
@@ -52,7 +52,7 @@ possible with previously distributed imagemap programs.<P>
|
|||||||
</UL>
|
</UL>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2>Configuration Directives</h2>
|
<H2>Configuration Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#imapmenu">ImapMenu</A>
|
<LI><A HREF="#imapmenu">ImapMenu</A>
|
||||||
<LI><A HREF="#imapdefault">ImapDefault</A>
|
<LI><A HREF="#imapdefault">ImapDefault</A>
|
||||||
@@ -62,7 +62,7 @@ possible with previously distributed imagemap programs.<P>
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3><A name="imapmenu">ImapMenu</A></h3>
|
<H3><A name="imapmenu">ImapMenu</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -115,7 +115,7 @@ is called without valid coordinates.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3><A name="imapdefault">ImapDefault</A></h3>
|
<H3><A name="imapdefault">ImapDefault</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -149,7 +149,7 @@ case, the client should continue to display the original page.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3><A name="imapbase">ImapBase</A></h3>
|
<H3><A name="imapbase">ImapBase</A></H3>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -180,7 +180,7 @@ directive within the imagemap file. If not present, the
|
|||||||
<HR>
|
<HR>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2>Imagemap File</h2>
|
<H2>Imagemap File</H2>
|
||||||
The lines in the imagemap files can have one of several formats:
|
The lines in the imagemap files can have one of several formats:
|
||||||
<BLOCKQUOTE>
|
<BLOCKQUOTE>
|
||||||
<CODE>directive value [x,y ...]</CODE><BR>
|
<CODE>directive value [x,y ...]</CODE><BR>
|
||||||
@@ -195,7 +195,7 @@ of the special values listed below. The coordinates are
|
|||||||
used as the text of the link if a imagemap menu is generated. Lines
|
used as the text of the link if a imagemap menu is generated. Lines
|
||||||
beginning with '#' are comments.
|
beginning with '#' are comments.
|
||||||
|
|
||||||
<h3>Imagemap File Directives</h3>
|
<H3>Imagemap File Directives</H3>
|
||||||
There are six directives allowed in the imagemap file. The directives
|
There are six directives allowed in the imagemap file. The directives
|
||||||
can come in any order, but are processed in the order they are found
|
can come in any order, but are processed in the order they are found
|
||||||
in the imagemap file.
|
in the imagemap file.
|
||||||
@@ -241,7 +241,7 @@ in the imagemap file.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Values</h3>
|
<H3>Values</H3>
|
||||||
The values for each of the directives can any of the following:
|
The values for each of the directives can any of the following:
|
||||||
<DL>
|
<DL>
|
||||||
<DT>a URL
|
<DT>a URL
|
||||||
@@ -275,7 +275,7 @@ The values for each of the directives can any of the following:
|
|||||||
<CODE>default</CODE>.
|
<CODE>default</CODE>.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h3>Coordinates</h3>
|
<H3>Coordinates</H3>
|
||||||
<DL>
|
<DL>
|
||||||
<DT><CODE>0,0 200,200</CODE>
|
<DT><CODE>0,0 200,200</CODE>
|
||||||
<DD>A coordinate consists of an <TT>x</TT> and a <TT>y</TT> value
|
<DD>A coordinate consists of an <TT>x</TT> and a <TT>y</TT> value
|
||||||
@@ -285,7 +285,7 @@ The values for each of the directives can any of the following:
|
|||||||
no coordinate had been selected.
|
no coordinate had been selected.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h3>Quoted Text</h3>
|
<H3>Quoted Text</H3>
|
||||||
<DL>
|
<DL>
|
||||||
<DT><CODE>"Menu Text"</CODE>
|
<DT><CODE>"Menu Text"</CODE>
|
||||||
<DD>After the value or after the coordinates, the line optionally may
|
<DD>After the value or after the coordinates, the line optionally may
|
||||||
@@ -300,7 +300,7 @@ The values for each of the directives can any of the following:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Example Mapfile</h2>
|
<H2>Example Mapfile</H2>
|
||||||
<BLOCKQUOTE><CODE>
|
<BLOCKQUOTE><CODE>
|
||||||
#Comments are printed in a 'formatted' or 'semiformatted' menu. <BR>
|
#Comments are printed in a 'formatted' or 'semiformatted' menu. <BR>
|
||||||
#And can contain html tags. <hr> <BR>
|
#And can contain html tags. <hr> <BR>
|
||||||
@@ -315,7 +315,7 @@ rect mailto:nate@tripod.com 100,150 200,0 "Bugs?" <BR>
|
|||||||
</CODE></BLOCKQUOTE>
|
</CODE></BLOCKQUOTE>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2>Referencing your mapfile</h2>
|
<H2>Referencing your mapfile</H2>
|
||||||
<BLOCKQUOTE><CODE>
|
<BLOCKQUOTE><CODE>
|
||||||
<A HREF="/maps/imagemap1.map"> <BR>
|
<A HREF="/maps/imagemap1.map"> <BR>
|
||||||
<IMG ISMAP SRC="/images/imagemap1.gif"> <BR>
|
<IMG ISMAP SRC="/images/imagemap1.gif"> <BR>
|
||||||
|
@@ -53,7 +53,7 @@ For backwards compatibility, documents with mime type
|
|||||||
<CODE>text/x-server-parsed-html3</CODE> will also be parsed
|
<CODE>text/x-server-parsed-html3</CODE> will also be parsed
|
||||||
(and the resulting output given the mime type <CODE>text/html</CODE>).
|
(and the resulting output given the mime type <CODE>text/html</CODE>).
|
||||||
|
|
||||||
<h2>Basic Elements</h2>
|
<H2>Basic Elements</H2>
|
||||||
|
|
||||||
The document is parsed as an HTML document, with special commands embedded
|
The document is parsed as an HTML document, with special commands embedded
|
||||||
as SGML comments. A command has the syntax:
|
as SGML comments. A command has the syntax:
|
||||||
@@ -199,7 +199,7 @@ For example:
|
|||||||
|
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h2>Include Variables</h2>
|
<H2>Include Variables</H2>
|
||||||
|
|
||||||
In addition to the variables in the standard CGI environment, these are
|
In addition to the variables in the standard CGI environment, these are
|
||||||
available for the <CODE>echo</CODE> command, for <CODE>if</CODE> and
|
available for the <CODE>echo</CODE> command, for <CODE>if</CODE> and
|
||||||
@@ -351,14 +351,14 @@ elements are:
|
|||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#xbithack">XBitHack</A>
|
<LI><A HREF="#xbithack">XBitHack</A>
|
||||||
</UL>
|
</UL>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="xbithack">XBitHack</A></h2>
|
<H2><A name="xbithack">XBitHack</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt XBitHack} directive> -->
|
<!--%plaintext <?INDEX {\tt XBitHack} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -408,7 +408,7 @@ the request.
|
|||||||
<P>
|
<P>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2>Using Server Side Includes for ErrorDocuments</h2>
|
<H2>Using Server Side Includes for ErrorDocuments</H2>
|
||||||
|
|
||||||
There is <A HREF="../misc/custom_errordocs.html">a document</A> which
|
There is <A HREF="../misc/custom_errordocs.html">a document</A> which
|
||||||
describes how to use the features of mod_include to offer internationalized
|
describes how to use the features of mod_include to offer internationalized
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Module mod_info</H1>
|
<H1 ALIGN="CENTER">Module mod_info</H1>
|
||||||
|
|
||||||
This module is contained in the <CODE>mod_info.c</CODE> file. It
|
This module is contained in the <CODE>mod_info.c</CODE> file. It
|
||||||
provides a comprehensive overview of the server configuration
|
provides a comprehensive overview of the server configuration
|
||||||
|
@@ -21,14 +21,14 @@
|
|||||||
running under Microsoft Windows. Any document with a handler of
|
running under Microsoft Windows. Any document with a handler of
|
||||||
<CODE>isapi-isa</CODE> will be processed by this module.
|
<CODE>isapi-isa</CODE> will be processed by this module.
|
||||||
|
|
||||||
<h2>Purpose</h2>
|
<H2>Purpose</H2>
|
||||||
|
|
||||||
<P>This module implements the <A
|
<P>This module implements the <A
|
||||||
HREF="http://www.microsoft.com/win32dev/apiext/isapimrg.htm">ISAPI
|
HREF="http://www.microsoft.com/win32dev/apiext/isapimrg.htm">ISAPI
|
||||||
Extension</A> API. It allows Internet Server Applications (i.e., ISAPI
|
Extension</A> API. It allows Internet Server Applications (i.e., ISAPI
|
||||||
Extensions) to be used with Apache for Windows.
|
Extensions) to be used with Apache for Windows.
|
||||||
|
|
||||||
<h2>Usage</h2>
|
<H2>Usage</H2>
|
||||||
|
|
||||||
<P>In the server configuration file, add a handler called
|
<P>In the server configuration file, add a handler called
|
||||||
<CODE>isapi-isa</CODE>, and map it to files with a <CODE>.DLL</CODE>
|
<CODE>isapi-isa</CODE>, and map it to files with a <CODE>.DLL</CODE>
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
scripts. That is, <CODE>Options ExecCGI</CODE> must be active in the
|
scripts. That is, <CODE>Options ExecCGI</CODE> must be active in the
|
||||||
directory that contains the ISA.</P>
|
directory that contains the ISA.</P>
|
||||||
|
|
||||||
<h2>Notes</h2>
|
<H2>Notes</H2>
|
||||||
|
|
||||||
<P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0
|
<P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0
|
||||||
specification, except for the "Microsoft-specific" extensions dealing
|
specification, except for the "Microsoft-specific" extensions dealing
|
||||||
|
@@ -25,7 +25,7 @@ compiled in by default. It provides for logging of the client user agents.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="agentlog">AgentLog</A></h2>
|
<H2><A name="agentlog">AgentLog</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt AgentLog} directive> -->
|
<!--%plaintext <?INDEX {\tt AgentLog} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -21,7 +21,7 @@ mod_log_common in Apache 1.2. Prior to version 1.2, mod_log_config was
|
|||||||
an optional module. It provides for logging of the requests made to
|
an optional module. It provides for logging of the requests made to
|
||||||
the server, using the Common Log Format or a user-specified format.
|
the server, using the Common Log Format or a user-specified format.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
Three directives are provided by this module: <CODE>TransferLog</CODE>
|
Three directives are provided by this module: <CODE>TransferLog</CODE>
|
||||||
to create a log file, <CODE>LogFormat</CODE> to set a custom format,
|
to create a log file, <CODE>LogFormat</CODE> to set a custom format,
|
||||||
@@ -31,7 +31,7 @@ be used multiple times in each server to cause each request to be
|
|||||||
logged to multiple files.
|
logged to multiple files.
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>Compatibility notes</h3>
|
<H3>Compatibility notes</H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI>This module is based on mod_log_config distributed with
|
<LI>This module is based on mod_log_config distributed with
|
||||||
@@ -47,7 +47,7 @@ should be defined to log user-tracking information instead.
|
|||||||
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2>Log File Formats</h2>
|
<H2>Log File Formats</H2>
|
||||||
|
|
||||||
Unless told otherwise with <TT>LogFormat</TT> the log files created by
|
Unless told otherwise with <TT>LogFormat</TT> the log files created by
|
||||||
<TT>TransferLog</TT> will be in standard "Common Log Format"
|
<TT>TransferLog</TT> will be in standard "Common Log Format"
|
||||||
@@ -56,7 +56,7 @@ below. Alternatively, the log file can be customized (and if multiple
|
|||||||
log files are used, each can have a different format). Custom formats
|
log files are used, each can have a different format). Custom formats
|
||||||
are set with <CODE>LogFormat</CODE> and <CODE>CustomLog</CODE>.
|
are set with <CODE>LogFormat</CODE> and <CODE>CustomLog</CODE>.
|
||||||
|
|
||||||
<h3>Common Log Format</h3>
|
<H3>Common Log Format</H3>
|
||||||
|
|
||||||
The Common Log Format (CLF) file contains a separate line for each
|
The Common Log Format (CLF) file contains a separate line for each
|
||||||
request. A line is composed of several tokens separated by spaces:
|
request. A line is composed of several tokens separated by spaces:
|
||||||
@@ -97,7 +97,7 @@ zone = (`+' | `-') 4*digit</CODE></BLOCKQUOTE></DL>
|
|||||||
any headers.
|
any headers.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h3><A NAME="formats">Custom Log Formats</A></h3>
|
<H3><A NAME="formats">Custom Log Formats</A></H3>
|
||||||
|
|
||||||
The format argument to the <CODE>LogFormat</CODE> and
|
The format argument to the <CODE>LogFormat</CODE> and
|
||||||
<CODE>CustomLog</CODE> is a string. This string is logged to the log
|
<CODE>CustomLog</CODE> is a string. This string is logged to the log
|
||||||
@@ -153,14 +153,14 @@ Note that the common log format is defined by the string <CODE>"%h %l
|
|||||||
extending for format if desired (e.g. to add extra fields at the end).
|
extending for format if desired (e.g. to add extra fields at the end).
|
||||||
NCSA's extended/combined log format would be <CODE>"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""</CODE>.
|
NCSA's extended/combined log format would be <CODE>"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""</CODE>.
|
||||||
|
|
||||||
<h2>Using Multiple Log Files</h2>
|
<H2>Using Multiple Log Files</H2>
|
||||||
|
|
||||||
The <CODE>TransferLog</CODE> and <CODE>CustomLog</CODE> directives can
|
The <CODE>TransferLog</CODE> and <CODE>CustomLog</CODE> directives can
|
||||||
be given more than once to log requests to multiple log files. Each
|
be given more than once to log requests to multiple log files. Each
|
||||||
request will be logged to all the log files defined by either of these
|
request will be logged to all the log files defined by either of these
|
||||||
directives.
|
directives.
|
||||||
|
|
||||||
<h3>Use with Virtual Hosts</h3>
|
<H3>Use with Virtual Hosts</H3>
|
||||||
|
|
||||||
If a <VirtualHost> section does not contain any
|
If a <VirtualHost> section does not contain any
|
||||||
<TT>TransferLog</TT> or <TT>CustomLog</TT> directives, the
|
<TT>TransferLog</TT> or <TT>CustomLog</TT> directives, the
|
||||||
@@ -171,14 +171,14 @@ within its definition, not in any of the main server's log files.
|
|||||||
See the examples below.
|
See the examples below.
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2>Security Considerations</h2>
|
<H2>Security Considerations</H2>
|
||||||
|
|
||||||
See the <A HREF="../misc/security_tips.html#security">security tips</A>
|
See the <A HREF="../misc/security_tips.html#security">security tips</A>
|
||||||
document for details on why your security could be compromised if the
|
document for details on why your security could be compromised if the
|
||||||
directory where logfiles are stored is writable by anyone other than
|
directory where logfiles are stored is writable by anyone other than
|
||||||
the user that starts the server.
|
the user that starts the server.
|
||||||
<P>
|
<P>
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#cookielog">CookieLog</A>
|
<LI><A HREF="#cookielog">CookieLog</A>
|
||||||
@@ -189,7 +189,7 @@ the user that starts the server.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="cookielog">CookieLog</A></h2>
|
<H2><A name="cookielog">CookieLog</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt CookieLog} directive> -->
|
<!--%plaintext <?INDEX {\tt CookieLog} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -263,7 +263,7 @@ the
|
|||||||
directive.
|
directive.
|
||||||
</P>
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A name="logformat">LogFormat</A></h2>
|
<H2><A name="logformat">LogFormat</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt LogFormat} directive> -->
|
<!--%plaintext <?INDEX {\tt LogFormat} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -315,7 +315,7 @@ it doesn't actually apply the format and make it the default.
|
|||||||
</P>
|
</P>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
<h2><A name="transferlog">TransferLog</A></h2>
|
<H2><A name="transferlog">TransferLog</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt TransferLog} directive> -->
|
<!--%plaintext <?INDEX {\tt TransferLog} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -19,7 +19,7 @@ This module is contained in the <CODE>mod_log_referer.c</CODE> file, and is not
|
|||||||
compiled in by default. It provides for logging of the documents which
|
compiled in by default. It provides for logging of the documents which
|
||||||
reference documents on the server.
|
reference documents on the server.
|
||||||
|
|
||||||
<h2>Log file format</h2>
|
<H2>Log file format</H2>
|
||||||
The log file contains a separate line for each refer. Each line has the
|
The log file contains a separate line for each refer. Each line has the
|
||||||
format
|
format
|
||||||
<BLOCKQUOTE><EM>uri</EM> <CODE>-></CODE> <EM>document</EM></BLOCKQUOTE>
|
<BLOCKQUOTE><EM>uri</EM> <CODE>-></CODE> <EM>document</EM></BLOCKQUOTE>
|
||||||
@@ -28,7 +28,7 @@ the one requested by the client, and <EM>document</EM> is the (%-decoded)
|
|||||||
local URL to the document being referred to.
|
local URL to the document being referred to.
|
||||||
|
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#refererignore">RefererIgnore</A>
|
<LI><A HREF="#refererignore">RefererIgnore</A>
|
||||||
<LI><A HREF="#refererlog">RefererLog</A>
|
<LI><A HREF="#refererlog">RefererLog</A>
|
||||||
@@ -36,7 +36,7 @@ local URL to the document being referred to.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="refererignore">RefererIgnore</A></h2>
|
<H2><A name="refererignore">RefererIgnore</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt RefererIgnore} directive> -->
|
<!--%plaintext <?INDEX {\tt RefererIgnore} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -64,7 +64,7 @@ This avoids logging references from www.ncsa.uiuc.edu.
|
|||||||
<P><HR>
|
<P><HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="refererlog">RefererLog</A></h2>
|
<H2><A name="refererlog">RefererLog</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt RefererLog} directive> -->
|
<!--%plaintext <?INDEX {\tt RefererLog} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -19,7 +19,7 @@ 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
|
compiled in by default. It provides for determining the types of files
|
||||||
from the filename.
|
from the filename.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This module is used to determine various bits of "meta information"
|
This module is used to determine various bits of "meta information"
|
||||||
about documents. This information relates to the content of the
|
about documents. This information relates to the content of the
|
||||||
@@ -71,7 +71,7 @@ copies may still be used by a client or proxy.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h2> Directives</h2>
|
<H2> Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#addencoding">AddEncoding</A>
|
<LI><A HREF="#addencoding">AddEncoding</A>
|
||||||
<LI><A HREF="#addhandler">AddHandler</A>
|
<LI><A HREF="#addhandler">AddHandler</A>
|
||||||
@@ -84,7 +84,7 @@ copies may still be used by a client or proxy.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="addencoding">AddEncoding</A></h2>
|
<H2><A name="addencoding">AddEncoding</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt AddEncoding} directive> -->
|
<!--%plaintext <?INDEX {\tt AddEncoding} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -119,7 +119,7 @@ AddEncoding x-compress Z
|
|||||||
This will cause files ending in .gz to be marked as encoded using the x-gzip
|
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>
|
encoding, and .Z files to be marked as encoded with x-compress.<P><HR>
|
||||||
|
|
||||||
<h2><A name="addhandler">AddHandler</A></h2>
|
<H2><A name="addhandler">AddHandler</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -156,7 +156,7 @@ file ending with "<CODE>.cgi</CODE>" will be treated as a CGI
|
|||||||
program.</P>
|
program.</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="addlanguage">AddLanguage</A></h2>
|
<H2><A name="addlanguage">AddLanguage</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt AddLanguage} directive> -->
|
<!--%plaintext <?INDEX {\tt AddLanguage} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -195,7 +195,7 @@ the browser is unlikely to use this information. The AddLanguage directive
|
|||||||
is more useful for content negotiation, where the server returns one
|
is more useful for content negotiation, where the server returns one
|
||||||
from several documents based on the client's language preference.<P><HR>
|
from several documents based on the client's language preference.<P><HR>
|
||||||
|
|
||||||
<h2><A name="addtype">AddType</A></h2>
|
<H2><A name="addtype">AddType</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt AddType} directive> -->
|
<!--%plaintext <?INDEX {\tt AddType} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -230,7 +230,7 @@ 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
|
Note that, unlike the NCSA httpd, this directive cannot be used to set the
|
||||||
type of particular files.<P><HR>
|
type of particular files.<P><HR>
|
||||||
|
|
||||||
<h2><A name="forcetype">ForceType</A></h2>
|
<H2><A name="forcetype">ForceType</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -266,7 +266,7 @@ had a directory full of GIF files, but did not want to label them all with
|
|||||||
<P>Note that this will override any filename extensions that might
|
<P>Note that this will override any filename extensions that might
|
||||||
media type.</P>
|
media type.</P>
|
||||||
|
|
||||||
<h2><A name="sethandler">SetHandler</A></h2>
|
<H2><A name="sethandler">SetHandler</A></H2>
|
||||||
|
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -312,7 +312,7 @@ called, you might put the following into access.conf:
|
|||||||
</PRE>
|
</PRE>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="typesconfig">TypesConfig</A></h2>
|
<H2><A name="typesconfig">TypesConfig</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt TypesConfig} directive> -->
|
<!--%plaintext <?INDEX {\tt TypesConfig} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
<IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]">
|
<IMG SRC="../images/sub.gif" ALT="[APACHE DOCUMENTATION]">
|
||||||
</DIV>
|
</DIV>
|
||||||
|
|
||||||
<h1 align="CENTER">Module mod_mime_magic</H1>
|
<H1 align="CENTER">Module mod_mime_magic</H1>
|
||||||
|
|
||||||
This module is contained in the mod_mime_magic.c file, and is
|
This module is contained in the mod_mime_magic.c file, and is
|
||||||
an optional extension to the Apache HTTPD server.
|
an optional extension to the Apache HTTPD server.
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
mod_mime_magic is intended as a "second line of defense" for cases
|
mod_mime_magic is intended as a "second line of defense" for cases
|
||||||
mod_mime cannot resolve.
|
mod_mime cannot resolve.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This module is derived from a free version of the <CODE>file(1)</CODE>
|
This module is derived from a free version of the <CODE>file(1)</CODE>
|
||||||
command for Unix,
|
command for Unix,
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
0 string \037\213 application/octet-stream x-gzip
|
0 string \037\213 application/octet-stream x-gzip
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h3>Performance Issues</h3>
|
<H3>Performance Issues</H3>
|
||||||
|
|
||||||
This module is not for every system. If your system is barely keeping
|
This module is not for every system. If your system is barely keeping
|
||||||
up with its load or if you're performing a web server benchmark,
|
up with its load or if you're performing a web server benchmark,
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
listed in increasing priority so that will mean this one is used only
|
listed in increasing priority so that will mean this one is used only
|
||||||
as a last resort, just like it was designed to.
|
as a last resort, just like it was designed to.
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<P>
|
<P>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#mimemagicfile">MimeMagicFile</A>
|
<LI><A HREF="#mimemagicfile">MimeMagicFile</A>
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
<P>
|
<P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="notes">Notes</A></h2>
|
<H2><A name="notes">Notes</A></H2>
|
||||||
|
|
||||||
The following notes apply to the mod_mime_magic module and are
|
The following notes apply to the mod_mime_magic module and are
|
||||||
included here for compliance with contributors' copyright restrictions
|
included here for compliance with contributors' copyright restrictions
|
||||||
|
@@ -19,7 +19,7 @@ This module is contained in the <CODE>mod_negotiation.c</CODE> file,
|
|||||||
and is compiled in by default. It provides for <A
|
and is compiled in by default. It provides for <A
|
||||||
HREF="../content-negotiation.html">content negotiation</A>.
|
HREF="../content-negotiation.html">content negotiation</A>.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
Content negotiation, or more accurately content selection, is the
|
Content negotiation, or more accurately content selection, is the
|
||||||
selection of the document that best matches the clients
|
selection of the document that best matches the clients
|
||||||
capabilities, from one of several available documents.
|
capabilities, from one of several available documents.
|
||||||
@@ -32,7 +32,7 @@ which explicitly lists the files containing the variants.
|
|||||||
filename pattern match, and choose from amongst the results.
|
filename pattern match, and choose from amongst the results.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3>Type maps</h3>
|
<H3>Type maps</H3>
|
||||||
A type map has the same format as RFC822 mail headers. It contains document
|
A type map has the same format as RFC822 mail headers. It contains document
|
||||||
descriptions separated by blank lines, with lines beginning with a hash
|
descriptions separated by blank lines, with lines beginning with a hash
|
||||||
character ('#') treated as comments. A document description consists of
|
character ('#') treated as comments. A document description consists of
|
||||||
@@ -73,7 +73,7 @@ Example:
|
|||||||
<DD>The path to the file containing this variant, relative to the map file.
|
<DD>The path to the file containing this variant, relative to the map file.
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
<h3>MultiViews</h3>
|
<H3>MultiViews</H3>
|
||||||
A MultiViews search is enabled by the MultiViews
|
A MultiViews search is enabled by the MultiViews
|
||||||
<A HREF="core.html#options">Option</A>.
|
<A HREF="core.html#options">Option</A>.
|
||||||
If the server receives a request for <CODE>/some/dir/foo</CODE> and
|
If the server receives a request for <CODE>/some/dir/foo</CODE> and
|
||||||
@@ -86,7 +86,7 @@ requirements, and returns that document.<P>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#cachenegotiateddocs">CacheNegotiatedDocs</A>
|
<LI><A HREF="#cachenegotiateddocs">CacheNegotiatedDocs</A>
|
||||||
<LI><A HREF="#languagepriority">LanguagePriority</A>
|
<LI><A HREF="#languagepriority">LanguagePriority</A>
|
||||||
@@ -94,7 +94,7 @@ requirements, and returns that document.<P>
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="cachenegotiateddocs">CacheNegotiatedDocs</A></h2>
|
<H2><A name="cachenegotiateddocs">CacheNegotiatedDocs</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -131,7 +131,7 @@ HTTP/1.1 requests.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="languagepriority">LanguagePriority</A></h2>
|
<H2><A name="languagepriority">LanguagePriority</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt LanguagePriority} directive> -->
|
<!--%plaintext <?INDEX {\tt LanguagePriority} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -23,11 +23,11 @@ server. It is only available in Apache 1.1 and later. Common configuration
|
|||||||
questions are addressed <A HREF="#configs">after the directive
|
questions are addressed <A HREF="#configs">after the directive
|
||||||
descriptions</A>.
|
descriptions</A>.
|
||||||
|
|
||||||
<h3>Note:</h3>
|
<H3>Note:</H3>
|
||||||
<P>This module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
|
<P>This module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
|
||||||
stability is <EM>greatly</EM> improved.<P>
|
stability is <EM>greatly</EM> improved.<P>
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This module implements a proxy/cache for Apache. It implements
|
This module implements a proxy/cache for Apache. It implements
|
||||||
proxying capability for
|
proxying capability for
|
||||||
@@ -38,7 +38,7 @@ proxying capability for
|
|||||||
The module can be configured to connect to other proxy modules for these
|
The module can be configured to connect to other proxy modules for these
|
||||||
and other protocols.
|
and other protocols.
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#proxyrequests">ProxyRequests</A>
|
<LI><A HREF="#proxyrequests">ProxyRequests</A>
|
||||||
<LI><A HREF="#proxyremote">ProxyRemote</A>
|
<LI><A HREF="#proxyremote">ProxyRemote</A>
|
||||||
@@ -59,7 +59,7 @@ and other protocols.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="proxyrequests"><h2>ProxyRequests</h2></A>
|
<A name="proxyrequests"><H2>ProxyRequests</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -96,7 +96,7 @@ HREF="#proxypass">ProxyPass</A> directive.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="proxyremote"><h2>ProxyRemote</h2></A>
|
<A name="proxyremote"><H2>ProxyRemote</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -153,7 +153,7 @@ them.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="proxypass"><h2>ProxyPass</h2></A>
|
<A name="proxypass"><H2>ProxyPass</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -200,7 +200,7 @@ internally converted into a proxy request to
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="proxyblock"><h2>ProxyBlock</h2></A>
|
<A name="proxyblock"><H2>ProxyBlock</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -255,7 +255,7 @@ blocks connections to all sites.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="noproxy"><h2>NoProxy</h2></A>
|
<A name="noproxy"><H2>NoProxy</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -392,7 +392,7 @@ The arguments to the NoProxy directive are one of the following type list:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="proxydomain"><h2>ProxyDomain</h2></A>
|
<A name="proxydomain"><H2>ProxyDomain</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -439,7 +439,7 @@ Example:
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cacheroot"><h2>CacheRoot</h2></A>
|
<A name="cacheroot"><H2>CacheRoot</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -476,7 +476,7 @@ by the httpd server.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachesize"><h2>CacheSize</h2></A>
|
<A name="cachesize"><H2>CacheSize</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -513,7 +513,7 @@ until the usage is at or below this setting.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachegcinterval"><h2>CacheGcInterval</h2></A>
|
<A name="cachegcinterval"><H2>CacheGcInterval</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -549,7 +549,7 @@ usage is greater than that set by CacheSize.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachemaxexpire"><h2>CacheMaxExpire</h2></A>
|
<A name="cachemaxexpire"><H2>CacheMaxExpire</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -587,7 +587,7 @@ was supplied with the document.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachelastmodifiedfactor"><h2>CacheLastModifiedFactor</h2></A>
|
<A name="cachelastmodifiedfactor"><H2>CacheLastModifiedFactor</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -631,7 +631,7 @@ then the latter takes precedence.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachedirlevels"><h2>CacheDirLevels</h2></A>
|
<A name="cachedirlevels"><H2>CacheDirLevels</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -667,7 +667,7 @@ Cached data will be saved this many directory levels below CacheRoot.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachedirlength"><h2>CacheDirLength</h2></A>
|
<A name="cachedirlength"><H2>CacheDirLength</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -702,7 +702,7 @@ CacheDirLength sets the number of characters in proxy cache subdirectory names.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="cachedefaultexpire"><h2>CacheDefaultExpire</h2></A>
|
<A name="cachedefaultexpire"><H2>CacheDefaultExpire</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -740,7 +740,7 @@ override this setting.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="nocache"><h2>NoCache</h2></A>
|
<A name="nocache"><H2>NoCache</H2></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -796,7 +796,7 @@ disables caching completely.<P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<A name="configs"><h2>Common configuration topics</h2></A>
|
<A name="configs"><H2>Common configuration topics</H2></A>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#access">Controlling access to your proxy</A>
|
<LI><A HREF="#access">Controlling access to your proxy</A>
|
||||||
@@ -808,7 +808,7 @@ disables caching completely.<P>
|
|||||||
<LI><A HREF="#intranet">What other functions are useful for an intranet proxy server?</A>
|
<LI><A HREF="#intranet">What other functions are useful for an intranet proxy server?</A>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2><A name="access">Controlling access to your proxy</A></h2>
|
<H2><A name="access">Controlling access to your proxy</A></H2>
|
||||||
|
|
||||||
You can control who can access your proxy via the normal <Directory>
|
You can control who can access your proxy via the normal <Directory>
|
||||||
control block using the following example:<P>
|
control block using the following example:<P>
|
||||||
@@ -826,14 +826,14 @@ allow from [machines you'd like to allow by IP address or name]
|
|||||||
A <Files> block will also work, and is the only method known to work
|
A <Files> block will also work, and is the only method known to work
|
||||||
for all possible URLs in Apache versions earlier than 1.2b10.<P>
|
for all possible URLs in Apache versions earlier than 1.2b10.<P>
|
||||||
|
|
||||||
<h2><A name="shortname">Using Netscape hostname shortcuts</A></h2>
|
<H2><A name="shortname">Using Netscape hostname shortcuts</A></H2>
|
||||||
|
|
||||||
There is an optional patch to the proxy module to allow Netscape-like
|
There is an optional patch to the proxy module to allow Netscape-like
|
||||||
hostname shortcuts to be used. It's available
|
hostname shortcuts to be used. It's available
|
||||||
<A HREF="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch">
|
<A HREF="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch">
|
||||||
here</A>.<P>
|
here</A>.<P>
|
||||||
|
|
||||||
<h2><A name="mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</A></h2>
|
<H2><A name="mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</A></H2>
|
||||||
|
|
||||||
You probably don't have that particular file type defined as
|
You probably don't have that particular file type defined as
|
||||||
<EM>application/octet-stream</EM> in your proxy's mime.types configuration
|
<EM>application/octet-stream</EM> in your proxy's mime.types configuration
|
||||||
@@ -843,22 +843,22 @@ file. A useful line can be<P>
|
|||||||
application/octet-stream bin dms lha lzh exe class tgz taz
|
application/octet-stream bin dms lha lzh exe class tgz taz
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h2><A name="type">How can I force an FTP ASCII download of File <EM>xxx</EM>?</A></h2>
|
<H2><A name="type">How can I force an FTP ASCII download of File <EM>xxx</EM>?</A></H2>
|
||||||
|
|
||||||
In the rare situation where you must download a specific file using the FTP
|
In the rare situation where you must download a specific file using the FTP
|
||||||
<STRONG>ASCII</STRONG> transfer method (while the default transfer is in
|
<STRONG>ASCII</STRONG> transfer method (while the default transfer is in
|
||||||
<STRONG>binary</STRONG> mode), you can override mod_proxy's default by
|
<STRONG>binary</STRONG> mode), you can override mod_proxy's default by
|
||||||
suffixing the request with <SAMP>;type=a</SAMP> to force an ASCII transfer.<P>
|
suffixing the request with <SAMP>;type=a</SAMP> to force an ASCII transfer.<P>
|
||||||
|
|
||||||
<h2><A name="startup">Why does Apache start more slowly when using the
|
<H2><A name="startup">Why does Apache start more slowly when using the
|
||||||
proxy module?</A></h2>
|
proxy module?</A></H2>
|
||||||
|
|
||||||
If you're using the <CODE>ProxyBlock</CODE> or <CODE>NoCache</CODE>
|
If you're using the <CODE>ProxyBlock</CODE> or <CODE>NoCache</CODE>
|
||||||
directives, hostnames' IP addresses are looked up and cached during
|
directives, hostnames' IP addresses are looked up and cached during
|
||||||
startup for later match test. This may take a few seconds (or more)
|
startup for later match test. This may take a few seconds (or more)
|
||||||
depending on the speed with which the hostname lookups occur.<P>
|
depending on the speed with which the hostname lookups occur.<P>
|
||||||
|
|
||||||
<h2><A name="socks">Can I use the Apache proxy module with my SOCKS proxy?</A></h2>
|
<H2><A name="socks">Can I use the Apache proxy module with my SOCKS proxy?</A></H2>
|
||||||
|
|
||||||
Yes. Just build Apache with the rule <CODE>SOCKS4=yes</CODE> in your
|
Yes. Just build Apache with the rule <CODE>SOCKS4=yes</CODE> in your
|
||||||
<EM>Configuration</EM> file, and follow the instructions there. SOCKS5
|
<EM>Configuration</EM> file, and follow the instructions there. SOCKS5
|
||||||
@@ -874,7 +874,7 @@ Remember that you'll also have to grant access to your Apache proxy machine by
|
|||||||
permitting connections on the appropriate ports in your SOCKS daemon's
|
permitting connections on the appropriate ports in your SOCKS daemon's
|
||||||
configuration.<P>
|
configuration.<P>
|
||||||
|
|
||||||
<h2><A name="intranet">What other functions are useful for an intranet proxy server?</A></h2>
|
<H2><A name="intranet">What other functions are useful for an intranet proxy server?</A></H2>
|
||||||
|
|
||||||
<P>An Apache proxy server situated in an intranet needs to forward external
|
<P>An Apache proxy server situated in an intranet needs to forward external
|
||||||
requests through the company's firewall. However, when it has to access
|
requests through the company's firewall. However, when it has to access
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
|
|
||||||
<h1 ALIGN="CENTER">Module mod_rewrite</H1>
|
<H1 ALIGN="CENTER">Module mod_rewrite</H1>
|
||||||
|
|
||||||
This module is contained in the <CODE>mod_rewrite.c</CODE> file, with Apache
|
This module is contained in the <CODE>mod_rewrite.c</CODE> file, with Apache
|
||||||
1.2 and later. It provides a rule-based rewriting engine to rewrite requested
|
1.2 and later. It provides a rule-based rewriting engine to rewrite requested
|
||||||
@@ -28,7 +28,7 @@ in the server build Configuration file:
|
|||||||
AddModule modules/standard/mod_rewrite.o
|
AddModule modules/standard/mod_rewrite.o
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This module uses a rule-based rewriting engine (based on a
|
This module uses a rule-based rewriting engine (based on a
|
||||||
regular-expression parser) to rewrite requested URLs on the fly.
|
regular-expression parser) to rewrite requested URLs on the fly.
|
||||||
@@ -61,7 +61,7 @@ gifted exclusively to the The Apache Group in July 1997 by
|
|||||||
<!--/%hypertext -->
|
<!--/%hypertext -->
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#RewriteEngine">RewriteEngine</A>
|
<LI><A HREF="#RewriteEngine">RewriteEngine</A>
|
||||||
@@ -85,7 +85,7 @@ gifted exclusively to the The Apache Group in July 1997 by
|
|||||||
</A>
|
</A>
|
||||||
</CENTER>
|
</CENTER>
|
||||||
|
|
||||||
<A name="RewriteEngine"><h3>RewriteEngine</h3></A>
|
<A name="RewriteEngine"><H3>RewriteEngine</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -119,7 +119,7 @@ HREF="#RewriteOptions">RewriteOptions inherit</A> is enabled.
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteOptions"><h3>RewriteOptions</h3></A>
|
<A name="RewriteOptions"><H3>RewriteOptions</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -151,7 +151,7 @@ strings can be one of the following:
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteLog"><h3>RewriteLog</h3></A>
|
<A name="RewriteLog"><H3>RewriteLog</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -209,7 +209,7 @@ RewriteLog "/usr/local/var/apache/logs/rewrite.log"
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteLogLevel"><h3>RewriteLogLevel</h3></A>
|
<A name="RewriteLogLevel"><H3>RewriteLogLevel</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -254,7 +254,7 @@ RewriteLogLevel 3
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteMap"><h3>RewriteMap</h3></A>
|
<A name="RewriteMap"><H3>RewriteMap</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -405,7 +405,7 @@ only happens once!
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteBase"><h3>RewriteBase</h3></A>
|
<A name="RewriteBase"><H3>RewriteBase</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -517,7 +517,7 @@ sure the design and implementation is correct.
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteCond"><h3>RewriteCond</h3></A>
|
<A name="RewriteCond"><H3>RewriteCond</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -822,7 +822,7 @@ use any other browser you get the standard homepage.
|
|||||||
<hr noshade size=1>
|
<hr noshade size=1>
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<A name="RewriteRule"><h3>RewriteRule</h3></A>
|
<A name="RewriteRule"><H3>RewriteRule</H3></A>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -1293,7 +1293,7 @@ RewriteRule ^/([^/]+)/~([^/]+)/(.*)$ /u/${real-to-user:$2|nobody}/$3.$1
|
|||||||
</CENTER>
|
</CENTER>
|
||||||
|
|
||||||
<A name="EnvVar">
|
<A name="EnvVar">
|
||||||
<h2>Environment Variables</h2>
|
<H2>Environment Variables</H2>
|
||||||
</A>
|
</A>
|
||||||
|
|
||||||
This module keeps track of two additional (non-standard) CGI/SSI environment
|
This module keeps track of two additional (non-standard) CGI/SSI environment
|
||||||
|
@@ -21,14 +21,14 @@ modules into the server at start-up time, on Unix systems. Win32
|
|||||||
systems use <A HREF="mod_dll.html">mod_dll</A> instead. This module is
|
systems use <A HREF="mod_dll.html">mod_dll</A> instead. This module is
|
||||||
only available in Apache 1.3 and up.
|
only available in Apache 1.3 and up.
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
|
|
||||||
This is an experimental module. On selected operating systems it can
|
This is an experimental module. On selected operating systems it can
|
||||||
be used to load modules into Apache at runtime, rather than requiring
|
be used to load modules into Apache at runtime, rather than requiring
|
||||||
a recompilation.
|
a recompilation.
|
||||||
|
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#loadfile">LoadFile</A>
|
<LI><A HREF="#loadfile">LoadFile</A>
|
||||||
<LI><A HREF="#loadmodule">LoadModule</A>
|
<LI><A HREF="#loadmodule">LoadModule</A>
|
||||||
@@ -36,7 +36,7 @@ a recompilation.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="loadfile">LoadFile</A></h2>
|
<H2><A name="loadfile">LoadFile</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt LoadFile} directive> -->
|
<!--%plaintext <?INDEX {\tt LoadFile} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
@@ -60,7 +60,7 @@ the server is started; this is used to load additional code which
|
|||||||
may be required for some module to work. <EM>Filename</EM> is relative
|
may be required for some module to work. <EM>Filename</EM> is relative
|
||||||
to <A HREF="core.html#serverroot">ServerRoot</A>.<P><HR>
|
to <A HREF="core.html#serverroot">ServerRoot</A>.<P><HR>
|
||||||
|
|
||||||
<h2><A name="loadmodule">LoadModule</A></h2>
|
<H2><A name="loadmodule">LoadModule</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt LoadModule} directive> -->
|
<!--%plaintext <?INDEX {\tt LoadModule} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
one document with a sufficiently similar name is found.
|
one document with a sufficiently similar name is found.
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<h2>Summary</h2>
|
<H2>Summary</H2>
|
||||||
<P>
|
<P>
|
||||||
Requests to documents sometimes cannot be served by the core apache
|
Requests to documents sometimes cannot be served by the core apache
|
||||||
server because the request was misspelled or miscapitalized. This
|
server because the request was misspelled or miscapitalized. This
|
||||||
@@ -50,14 +50,14 @@
|
|||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<MENU>
|
<MENU>
|
||||||
<LI><A HREF="#checkspelling">CheckSpelling</A>
|
<LI><A HREF="#checkspelling">CheckSpelling</A>
|
||||||
</MENU>
|
</MENU>
|
||||||
|
|
||||||
<HR> <!-- the HR is part of the directive description -->
|
<HR> <!-- the HR is part of the directive description -->
|
||||||
<A name="checkspelling"><h2>CheckSpelling</h2></A>
|
<A name="checkspelling"><H2>CheckSpelling</H2></A>
|
||||||
<!--%plaintext <?INDEX {\tt CheckSpelling} directive> -->
|
<!--%plaintext <?INDEX {\tt CheckSpelling} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -11,11 +11,11 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Module mod_status</H1>
|
<H1 ALIGN="CENTER">Module mod_status</H1>
|
||||||
|
|
||||||
The Status Module is only available in Apache 1.1 and later.<P>
|
The Status Module is only available in Apache 1.1 and later.<P>
|
||||||
|
|
||||||
<h2>Function</h2>
|
<H2>Function</H2>
|
||||||
|
|
||||||
The Status module allows a server administrator to find out how well
|
The Status module allows a server administrator to find out how well
|
||||||
their server is performing. A HTML page is presented that gives
|
their server is performing. A HTML page is presented that gives
|
||||||
@@ -45,7 +45,7 @@ A compile-time option must be used to display the details marked "(*)" as
|
|||||||
the instrumentation required for obtaining these statistics does not
|
the instrumentation required for obtaining these statistics does not
|
||||||
exist within standard Apache.
|
exist within standard Apache.
|
||||||
|
|
||||||
<h2>Enabling Status Support</h2>
|
<H2>Enabling Status Support</H2>
|
||||||
|
|
||||||
To enable status reports only for browsers from the foo.com
|
To enable status reports only for browsers from the foo.com
|
||||||
domain add this code to your <CODE>access.conf</CODE> configuration file
|
domain add this code to your <CODE>access.conf</CODE> configuration file
|
||||||
@@ -66,18 +66,18 @@ Note that mod_status will only work when you are running Apache in
|
|||||||
<A HREF="core.html#servertype">standalone</A> mode and not
|
<A HREF="core.html#servertype">standalone</A> mode and not
|
||||||
<A HREF="core.html#servertype">inetd</A> mode.
|
<A HREF="core.html#servertype">inetd</A> mode.
|
||||||
|
|
||||||
<h3>Automatic Updates</h3>
|
<H3>Automatic Updates</H3>
|
||||||
You can get the status page to update itself automatically if you have
|
You can get the status page to update itself automatically if you have
|
||||||
a browser that supports "refresh". Access the page
|
a browser that supports "refresh". Access the page
|
||||||
<CODE>http://your.server.name/server-status?refresh=N</CODE> to refresh the page
|
<CODE>http://your.server.name/server-status?refresh=N</CODE> to refresh the page
|
||||||
every N seconds.
|
every N seconds.
|
||||||
<h3>Machine Readable Status File</h3>
|
<H3>Machine Readable Status File</H3>
|
||||||
A machine-readable version of the status file is available by accessing the
|
A machine-readable version of the status file is available by accessing the
|
||||||
page <CODE>http://your.server.name/server-status?auto</CODE>. This is useful
|
page <CODE>http://your.server.name/server-status?auto</CODE>. This is useful
|
||||||
when automatically run, see the Perl program in the <CODE>/support</CODE>
|
when automatically run, see the Perl program in the <CODE>/support</CODE>
|
||||||
directory of Apache, <CODE>log_server_status</CODE>.
|
directory of Apache, <CODE>log_server_status</CODE>.
|
||||||
|
|
||||||
<h2>Full Instrumentation</h2>
|
<H2>Full Instrumentation</H2>
|
||||||
|
|
||||||
To obtain full statistics you must compile Apache with a special
|
To obtain full statistics you must compile Apache with a special
|
||||||
directive. On some machines there may be a small performance loss
|
directive. On some machines there may be a small performance loss
|
||||||
|
@@ -23,7 +23,7 @@ properly configured cluster of machines. The environment variable
|
|||||||
Unique identifiers are useful for various reasons which are beyond the
|
Unique identifiers are useful for various reasons which are beyond the
|
||||||
scope of this document.
|
scope of this document.
|
||||||
|
|
||||||
<h2>Theory</h2>
|
<H2>Theory</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
First a brief recap of how the Apache server works on Unix machines.
|
First a brief recap of how the Apache server works on Unix machines.
|
||||||
@@ -171,7 +171,7 @@ site, but there is no portable shorter replacement for it).
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<CODE>mod_unique_id</CODE> has no directives.
|
<CODE>mod_unique_id</CODE> has no directives.
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ is compiled in by default. It provides for user-specific directories.
|
|||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
|
|
||||||
<h2><A name="userdir">UserDir</A></h2>
|
<H2><A name="userdir">UserDir</A></H2>
|
||||||
<!--%plaintext <?INDEX {\tt UserDir} directive> -->
|
<!--%plaintext <?INDEX {\tt UserDir} directive> -->
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
|
@@ -24,7 +24,7 @@ added.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Logging</h2>
|
<H2>Logging</H2>
|
||||||
|
|
||||||
Previously, the cookies module (now the user tracking module) did its
|
Previously, the cookies module (now the user tracking module) did its
|
||||||
own logging, using the <TT>CookieLog</TT> directive. In this release,
|
own logging, using the <TT>CookieLog</TT> directive. In this release,
|
||||||
@@ -43,7 +43,7 @@ For backward compatibility the configurable log module implements the
|
|||||||
old <TT>CookieLog</TT> directive, but this should be upgraded to the
|
old <TT>CookieLog</TT> directive, but this should be upgraded to the
|
||||||
above <TT>CustomLog</TT> directive.
|
above <TT>CustomLog</TT> directive.
|
||||||
|
|
||||||
<h2>Directives</h2>
|
<H2>Directives</H2>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#cookieexpires">CookieExpires</A>
|
<LI><A HREF="#cookieexpires">CookieExpires</A>
|
||||||
@@ -52,7 +52,7 @@ above <TT>CustomLog</TT> directive.
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="cookieexpires">CookieExpires</A></h2>
|
<H2><A name="cookieexpires">CookieExpires</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
@@ -81,7 +81,7 @@ double quotes.
|
|||||||
<P>If this directive is not used, cookies last only for the current
|
<P>If this directive is not used, cookies last only for the current
|
||||||
browser session.</P>
|
browser session.</P>
|
||||||
|
|
||||||
<h2><A name="cookietracking">CookieTracking</A></h2>
|
<H2><A name="cookietracking">CookieTracking</A></H2>
|
||||||
<A
|
<A
|
||||||
HREF="directive-dict.html#Syntax"
|
HREF="directive-dict.html#Syntax"
|
||||||
REL="Help"
|
REL="Help"
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Hints on Running a High-Performance Web Server</H1>
|
<H1 ALIGN="CENTER">Hints on Running a High-Performance Web Server</H1>
|
||||||
|
|
||||||
Running Apache on a heavily loaded web server, one often encounters
|
Running Apache on a heavily loaded web server, one often encounters
|
||||||
problems related to the machine and OS configuration. "Heavy" is
|
problems related to the machine and OS configuration. "Heavy" is
|
||||||
|
@@ -43,7 +43,7 @@ on a Unix platform such as Solaris, FreeBSD, or Linux.</STRONG></P>
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2><A name="req">Requirements</A></h2>
|
<H2><A name="req">Requirements</A></H2>
|
||||||
|
|
||||||
<P>Apache 1.3b3 requires the following:</P>
|
<P>Apache 1.3b3 requires the following:</P>
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ together with details of mirror web and anonymous ftp sites.</P>
|
|||||||
<CODE>.tar.gz</CODE> which contains the source code (and is also the
|
<CODE>.tar.gz</CODE> which contains the source code (and is also the
|
||||||
regular Unix distribution).
|
regular Unix distribution).
|
||||||
|
|
||||||
<h2><A name="comp">Compiling Apache for Windows</A></h2>
|
<H2><A name="comp">Compiling Apache for Windows</A></H2>
|
||||||
|
|
||||||
<P>Compiling Apache requires Microsoft Visual C++ 5.0 to be properly
|
<P>Compiling Apache requires Microsoft Visual C++ 5.0 to be properly
|
||||||
installed. It is easiest to compile with the command-line tools
|
installed. It is easiest to compile with the command-line tools
|
||||||
@@ -111,7 +111,7 @@ together with details of mirror web and anonymous ftp sites.</P>
|
|||||||
makefile. The <CODE>src/win32</CODE> subdirectory contains project
|
makefile. The <CODE>src/win32</CODE> subdirectory contains project
|
||||||
files for the optional modules (see below).</P>
|
files for the optional modules (see below).</P>
|
||||||
|
|
||||||
<h2><A name="inst">Installing Apache for Windows</A></h2>
|
<H2><A name="inst">Installing Apache for Windows</A></H2>
|
||||||
|
|
||||||
<P>Once Apache has been compiled, it needs to be installed in its server
|
<P>Once Apache has been compiled, it needs to be installed in its server
|
||||||
root directory. The hard-coded default is the <CODE>\Apache</CODE>
|
root directory. The hard-coded default is the <CODE>\Apache</CODE>
|
||||||
@@ -139,7 +139,7 @@ together with details of mirror web and anonymous ftp sites.</P>
|
|||||||
<P>If you do not have nmake, or wish to install in a different directory,
|
<P>If you do not have nmake, or wish to install in a different directory,
|
||||||
be sure to use a similar naming scheme.</P>
|
be sure to use a similar naming scheme.</P>
|
||||||
|
|
||||||
<h2><A name="use">Using Apache for Windows</A></h2>
|
<H2><A name="use">Using Apache for Windows</A></H2>
|
||||||
|
|
||||||
<P>The first step is to set up Apache's configuration files. Default
|
<P>The first step is to set up Apache's configuration files. Default
|
||||||
configuration files for Windows are located in the <CODE>conf</CODE>
|
configuration files for Windows are located in the <CODE>conf</CODE>
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">How Directory, Location and Files sections work</H1>
|
<H1 ALIGN="CENTER">How Directory, Location and Files sections work</H1>
|
||||||
|
|
||||||
The sections <A
|
The sections <A
|
||||||
HREF="mod/core.html#directory"><CODE><Directory></CODE></A>, <A
|
HREF="mod/core.html#directory"><CODE><Directory></CODE></A>, <A
|
||||||
@@ -25,7 +25,7 @@ different sections differ and how they relate to each other when
|
|||||||
Apache decides which directives apply for a particular directory or
|
Apache decides which directives apply for a particular directory or
|
||||||
request URL.
|
request URL.
|
||||||
|
|
||||||
<h2>Directives allowed in the sections</h2>
|
<H2>Directives allowed in the sections</H2>
|
||||||
|
|
||||||
Everything that is syntactically allowed in
|
Everything that is syntactically allowed in
|
||||||
<CODE><Directory></CODE> is also allowed in
|
<CODE><Directory></CODE> is also allowed in
|
||||||
@@ -37,7 +37,7 @@ notable is AllowOverrides, make no sense in
|
|||||||
<CODE><Files></CODE> -- syntactically everything is fine, but
|
<CODE><Files></CODE> -- syntactically everything is fine, but
|
||||||
semantically some things are different.
|
semantically some things are different.
|
||||||
|
|
||||||
<h2>How the sections are merged</h2>
|
<H2>How the sections are merged</H2>
|
||||||
|
|
||||||
The order of merging is:
|
The order of merging is:
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ configuration. (Note: this only works correctly from 1.2.2 and 1.3a2
|
|||||||
onwards. Before those releases sections inside virtual hosts were
|
onwards. Before those releases sections inside virtual hosts were
|
||||||
applied <EM>before</EM> the main server).
|
applied <EM>before</EM> the main server).
|
||||||
|
|
||||||
<h2>Notes about using sections</h2>
|
<H2>Notes about using sections</H2>
|
||||||
|
|
||||||
The general guidelines are:
|
The general guidelines are:
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">How Directory, Location and Files sections work</H1>
|
<H1 ALIGN="CENTER">How Directory, Location and Files sections work</H1>
|
||||||
|
|
||||||
The sections <A
|
The sections <A
|
||||||
HREF="mod/core.html#directory"><CODE><Directory></CODE></A>, <A
|
HREF="mod/core.html#directory"><CODE><Directory></CODE></A>, <A
|
||||||
@@ -25,7 +25,7 @@ different sections differ and how they relate to each other when
|
|||||||
Apache decides which directives apply for a particular directory or
|
Apache decides which directives apply for a particular directory or
|
||||||
request URL.
|
request URL.
|
||||||
|
|
||||||
<h2>Directives allowed in the sections</h2>
|
<H2>Directives allowed in the sections</H2>
|
||||||
|
|
||||||
Everything that is syntactically allowed in
|
Everything that is syntactically allowed in
|
||||||
<CODE><Directory></CODE> is also allowed in
|
<CODE><Directory></CODE> is also allowed in
|
||||||
@@ -37,7 +37,7 @@ notable is AllowOverrides, make no sense in
|
|||||||
<CODE><Files></CODE> -- syntactically everything is fine, but
|
<CODE><Files></CODE> -- syntactically everything is fine, but
|
||||||
semantically some things are different.
|
semantically some things are different.
|
||||||
|
|
||||||
<h2>How the sections are merged</h2>
|
<H2>How the sections are merged</H2>
|
||||||
|
|
||||||
The order of merging is:
|
The order of merging is:
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ configuration. (Note: this only works correctly from 1.2.2 and 1.3a2
|
|||||||
onwards. Before those releases sections inside virtual hosts were
|
onwards. Before those releases sections inside virtual hosts were
|
||||||
applied <EM>before</EM> the main server).
|
applied <EM>before</EM> the main server).
|
||||||
|
|
||||||
<h2>Notes about using sections</h2>
|
<H2>Notes about using sections</H2>
|
||||||
|
|
||||||
The general guidelines are:
|
The general guidelines are:
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Stopping and Restarting Apache</H1>
|
<H1 ALIGN="CENTER">Stopping and Restarting Apache</H1>
|
||||||
|
|
||||||
<P>You will notice many <CODE>httpd</CODE> executables running on your system,
|
<P>You will notice many <CODE>httpd</CODE> executables running on your system,
|
||||||
but you should not send signals to any of them except the parent, whose
|
but you should not send signals to any of them except the parent, whose
|
||||||
@@ -38,7 +38,7 @@ Modify those examples to match your
|
|||||||
<A HREF="mod/core.html#serverroot">ServerRoot</A> and
|
<A HREF="mod/core.html#serverroot">ServerRoot</A> and
|
||||||
<A HREF="mod/core.html#pidfile">PidFile</A> settings.
|
<A HREF="mod/core.html#pidfile">PidFile</A> settings.
|
||||||
|
|
||||||
<h3>TERM Signal: stop now</h3>
|
<H3>TERM Signal: stop now</H3>
|
||||||
|
|
||||||
<P>Sending the <CODE>TERM</CODE> signal to the parent causes it to
|
<P>Sending the <CODE>TERM</CODE> signal to the parent causes it to
|
||||||
immediately attempt to kill off all of its children. It may take it
|
immediately attempt to kill off all of its children. It may take it
|
||||||
@@ -46,7 +46,7 @@ several seconds to complete killing off its children. Then the
|
|||||||
parent itself exits. Any requests in progress are terminated, and no
|
parent itself exits. Any requests in progress are terminated, and no
|
||||||
further requests are served.
|
further requests are served.
|
||||||
|
|
||||||
<h3>HUP Signal: restart now</h3>
|
<H3>HUP Signal: restart now</H3>
|
||||||
|
|
||||||
<P>Sending the <CODE>HUP</CODE> signal to the parent causes it to kill off
|
<P>Sending the <CODE>HUP</CODE> signal to the parent causes it to kill off
|
||||||
its children like in <CODE>TERM</CODE> but the parent doesn't exit. It
|
its children like in <CODE>TERM</CODE> but the parent doesn't exit. It
|
||||||
@@ -63,7 +63,7 @@ set to zero when a <CODE>HUP</CODE> is sent.
|
|||||||
restart then your parent will not restart, it will exit with an error.
|
restart then your parent will not restart, it will exit with an error.
|
||||||
See below for a method of avoiding this.
|
See below for a method of avoiding this.
|
||||||
|
|
||||||
<h3>USR1 Signal: graceful restart</h3>
|
<H3>USR1 Signal: graceful restart</H3>
|
||||||
|
|
||||||
<P><STRONG>Note:</STRONG> prior to release 1.2b9 this code is quite unstable and
|
<P><STRONG>Note:</STRONG> prior to release 1.2b9 this code is quite unstable and
|
||||||
shouldn't be used at all.
|
shouldn't be used at all.
|
||||||
@@ -122,7 +122,7 @@ not root (or because the currently running httpd already has those ports
|
|||||||
bound). If it fails for any other reason then it's probably a config file
|
bound). If it fails for any other reason then it's probably a config file
|
||||||
error and the error should be fixed before issuing the graceful restart.
|
error and the error should be fixed before issuing the graceful restart.
|
||||||
|
|
||||||
<h3>Appendix: signals and race conditions</h3>
|
<H3>Appendix: signals and race conditions</H3>
|
||||||
|
|
||||||
<P>Prior to Apache 1.2b9 there were several <EM>race conditions</EM>
|
<P>Prior to Apache 1.2b9 there were several <EM>race conditions</EM>
|
||||||
involving the restart and die signals (a simple description of race
|
involving the restart and die signals (a simple description of race
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Stopping and Restarting Apache</H1>
|
<H1 ALIGN="CENTER">Stopping and Restarting Apache</H1>
|
||||||
|
|
||||||
<P>You will notice many <CODE>httpd</CODE> executables running on your system,
|
<P>You will notice many <CODE>httpd</CODE> executables running on your system,
|
||||||
but you should not send signals to any of them except the parent, whose
|
but you should not send signals to any of them except the parent, whose
|
||||||
@@ -38,7 +38,7 @@ Modify those examples to match your
|
|||||||
<A HREF="mod/core.html#serverroot">ServerRoot</A> and
|
<A HREF="mod/core.html#serverroot">ServerRoot</A> and
|
||||||
<A HREF="mod/core.html#pidfile">PidFile</A> settings.
|
<A HREF="mod/core.html#pidfile">PidFile</A> settings.
|
||||||
|
|
||||||
<h3>TERM Signal: stop now</h3>
|
<H3>TERM Signal: stop now</H3>
|
||||||
|
|
||||||
<P>Sending the <CODE>TERM</CODE> signal to the parent causes it to
|
<P>Sending the <CODE>TERM</CODE> signal to the parent causes it to
|
||||||
immediately attempt to kill off all of its children. It may take it
|
immediately attempt to kill off all of its children. It may take it
|
||||||
@@ -46,7 +46,7 @@ several seconds to complete killing off its children. Then the
|
|||||||
parent itself exits. Any requests in progress are terminated, and no
|
parent itself exits. Any requests in progress are terminated, and no
|
||||||
further requests are served.
|
further requests are served.
|
||||||
|
|
||||||
<h3>HUP Signal: restart now</h3>
|
<H3>HUP Signal: restart now</H3>
|
||||||
|
|
||||||
<P>Sending the <CODE>HUP</CODE> signal to the parent causes it to kill off
|
<P>Sending the <CODE>HUP</CODE> signal to the parent causes it to kill off
|
||||||
its children like in <CODE>TERM</CODE> but the parent doesn't exit. It
|
its children like in <CODE>TERM</CODE> but the parent doesn't exit. It
|
||||||
@@ -63,7 +63,7 @@ set to zero when a <CODE>HUP</CODE> is sent.
|
|||||||
restart then your parent will not restart, it will exit with an error.
|
restart then your parent will not restart, it will exit with an error.
|
||||||
See below for a method of avoiding this.
|
See below for a method of avoiding this.
|
||||||
|
|
||||||
<h3>USR1 Signal: graceful restart</h3>
|
<H3>USR1 Signal: graceful restart</H3>
|
||||||
|
|
||||||
<P><STRONG>Note:</STRONG> prior to release 1.2b9 this code is quite unstable and
|
<P><STRONG>Note:</STRONG> prior to release 1.2b9 this code is quite unstable and
|
||||||
shouldn't be used at all.
|
shouldn't be used at all.
|
||||||
@@ -122,7 +122,7 @@ not root (or because the currently running httpd already has those ports
|
|||||||
bound). If it fails for any other reason then it's probably a config file
|
bound). If it fails for any other reason then it's probably a config file
|
||||||
error and the error should be fixed before issuing the graceful restart.
|
error and the error should be fixed before issuing the graceful restart.
|
||||||
|
|
||||||
<h3>Appendix: signals and race conditions</h3>
|
<H3>Appendix: signals and race conditions</H3>
|
||||||
|
|
||||||
<P>Prior to Apache 1.2b9 there were several <EM>race conditions</EM>
|
<P>Prior to Apache 1.2b9 there were several <EM>race conditions</EM>
|
||||||
involving the restart and die signals (a simple description of race
|
involving the restart and die signals (a simple description of race
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">An In-Depth Discussion of Virtual Host Matching</H1>
|
<H1 ALIGN="CENTER">An In-Depth Discussion of Virtual Host Matching</H1>
|
||||||
|
|
||||||
<P>The virtual host code was completely rewritten in <STRONG>Apache 1.3</STRONG>.
|
<P>The virtual host code was completely rewritten in <STRONG>Apache 1.3</STRONG>.
|
||||||
This document attempts to explain exactly what Apache does when
|
This document attempts to explain exactly what Apache does when
|
||||||
@@ -24,7 +24,7 @@ than with versions prior to 1.3.
|
|||||||
<P>If you just want to <CITE>make it work</CITE> without understanding
|
<P>If you just want to <CITE>make it work</CITE> without understanding
|
||||||
how, here are <A HREF="examples.html">some examples</A>.
|
how, here are <A HREF="examples.html">some examples</A>.
|
||||||
|
|
||||||
<h3>Config File Parsing</h3>
|
<H3>Config File Parsing</H3>
|
||||||
|
|
||||||
<P>There is a <EM>main_server</EM> which consists of all
|
<P>There is a <EM>main_server</EM> which consists of all
|
||||||
the definitions appearing outside of <CODE><VirtualHost></CODE> sections.
|
the definitions appearing outside of <CODE><VirtualHost></CODE> sections.
|
||||||
@@ -182,11 +182,11 @@ statement defining the vhost.
|
|||||||
is given the same <CODE>ServerName</CODE> as the main_server.
|
is given the same <CODE>ServerName</CODE> as the main_server.
|
||||||
|
|
||||||
|
|
||||||
<h3>Virtual Host Matching</h3>
|
<H3>Virtual Host Matching</H3>
|
||||||
|
|
||||||
<P>The server determines which vhost to use for a request as follows:
|
<P>The server determines which vhost to use for a request as follows:
|
||||||
|
|
||||||
<h4>Hash table lookup</h4>
|
<H4>Hash table lookup</H4>
|
||||||
|
|
||||||
<P>When the connection is first made by a client, the IP address to
|
<P>When the connection is first made by a client, the IP address to
|
||||||
which the client connected is looked up in the internal IP hash table.
|
which the client connected is looked up in the internal IP hash table.
|
||||||
@@ -201,13 +201,13 @@ main_server.
|
|||||||
found) the next step is to decide if we have to deal with an IP-based
|
found) the next step is to decide if we have to deal with an IP-based
|
||||||
or a name-base vhost.
|
or a name-base vhost.
|
||||||
|
|
||||||
<h4>IP-based vhost</h4>
|
<H4>IP-based vhost</H4>
|
||||||
|
|
||||||
<P>If the entry we found has an empty name list then we have found an
|
<P>If the entry we found has an empty name list then we have found an
|
||||||
IP-based vhost, no further actions are performed and the request is
|
IP-based vhost, no further actions are performed and the request is
|
||||||
served from that vhost.
|
served from that vhost.
|
||||||
|
|
||||||
<h4>Name-based vhost</h4>
|
<H4>Name-based vhost</H4>
|
||||||
|
|
||||||
<P>If the entry corresponds to a name-based vhost the name list contains
|
<P>If the entry corresponds to a name-based vhost the name list contains
|
||||||
one or more vhost structures. This list contains the vhosts in the same
|
one or more vhost structures. This list contains the vhosts in the same
|
||||||
@@ -236,7 +236,7 @@ request is served from that vhost.
|
|||||||
first vhost with a matching port number that is on the list for the IP
|
first vhost with a matching port number that is on the list for the IP
|
||||||
to which the client connected (as already mentioned before).
|
to which the client connected (as already mentioned before).
|
||||||
|
|
||||||
<h4>Persistent connections</h4>
|
<H4>Persistent connections</H4>
|
||||||
The IP lookup described above is only done <EM>once</EM> for a particular
|
The IP lookup described above is only done <EM>once</EM> for a particular
|
||||||
TCP/IP session while the name lookup is done on <EM>every</EM> request
|
TCP/IP session while the name lookup is done on <EM>every</EM> request
|
||||||
during a KeepAlive/persistent connection. In other words a client may
|
during a KeepAlive/persistent connection. In other words a client may
|
||||||
@@ -244,7 +244,7 @@ request pages from different name-based vhosts during a single
|
|||||||
persistent connection.
|
persistent connection.
|
||||||
|
|
||||||
|
|
||||||
<h4>Absolute URI</h4>
|
<H4>Absolute URI</H4>
|
||||||
|
|
||||||
<P>If the URI from the request is an absolute URI, and its hostname and
|
<P>If the URI from the request is an absolute URI, and its hostname and
|
||||||
port match the main server or one of the configured virtual hosts
|
port match the main server or one of the configured virtual hosts
|
||||||
@@ -255,7 +255,7 @@ If it does not match, then the URI remains untouched and the request is
|
|||||||
taken to be a proxy request.
|
taken to be a proxy request.
|
||||||
|
|
||||||
|
|
||||||
<h3>Observations</h3>
|
<H3>Observations</H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -334,7 +334,7 @@ taken to be a proxy request.
|
|||||||
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3>Tips</h3>
|
<H3>Tips</H3>
|
||||||
|
|
||||||
<P>In addition to the tips on the <A HREF="../dns-caveats.html#tips">DNS
|
<P>In addition to the tips on the <A HREF="../dns-caveats.html#tips">DNS
|
||||||
Issues</A> page, here are some further tips:
|
Issues</A> page, here are some further tips:
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">An In-Depth Discussion of VirtualHost Matching</H1>
|
<H1 ALIGN="CENTER">An In-Depth Discussion of VirtualHost Matching</H1>
|
||||||
|
|
||||||
<P>This is a very rough document that was probably out of date the moment
|
<P>This is a very rough document that was probably out of date the moment
|
||||||
it was written. It attempts to explain exactly what the code does when
|
it was written. It attempts to explain exactly what the code does when
|
||||||
@@ -23,7 +23,7 @@ under discussion is Apache 1.2.
|
|||||||
<P>If you just want to "make it work" without understanding
|
<P>If you just want to "make it work" without understanding
|
||||||
how, there's a <A HREF="#whatworks">What Works</A> section at the bottom.
|
how, there's a <A HREF="#whatworks">What Works</A> section at the bottom.
|
||||||
|
|
||||||
<h3>Config File Parsing</h3>
|
<H3>Config File Parsing</H3>
|
||||||
|
|
||||||
<P>There is a main_server which consists of all the definitions appearing
|
<P>There is a main_server which consists of all the definitions appearing
|
||||||
outside of <CODE>VirtualHost</CODE> sections. There are virtual servers,
|
outside of <CODE>VirtualHost</CODE> sections. There are virtual servers,
|
||||||
@@ -184,7 +184,7 @@ statement.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>Vhost Matching</h3>
|
<H3>Vhost Matching</H3>
|
||||||
|
|
||||||
|
|
||||||
<P><STRONG>Apache 1.3 differs from what is documented
|
<P><STRONG>Apache 1.3 differs from what is documented
|
||||||
@@ -269,7 +269,7 @@ in <CODE>check_hostalias</CODE> is performed to match any
|
|||||||
<STRONG>last match</STRONG> is used regardless (again consider the ordering of
|
<STRONG>last match</STRONG> is used regardless (again consider the ordering of
|
||||||
the virtual hosts).
|
the virtual hosts).
|
||||||
|
|
||||||
<h3>Observations</h3>
|
<H3>Observations</H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ the virtual hosts).
|
|||||||
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="whatworks">What Works</A></h3>
|
<H3><A name="whatworks">What Works</A></H3>
|
||||||
|
|
||||||
<P>In addition to the tips on the <A HREF="dns-caveats.html#tips">DNS
|
<P>In addition to the tips on the <A HREF="dns-caveats.html#tips">DNS
|
||||||
Issues</A> page, here are some further tips:
|
Issues</A> page, here are some further tips:
|
||||||
|
@@ -12,10 +12,10 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Virtual Host examples for common setups</H1>
|
<H1 ALIGN="CENTER">Virtual Host examples for common setups</H1>
|
||||||
|
|
||||||
|
|
||||||
<h2>Base configuration</h2>
|
<H2>Base configuration</H2>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#ip">IP-based vhosts only</A>
|
<LI><A HREF="#ip">IP-based vhosts only</A>
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<LI><A HREF="#port">Port-based vhosts</A>
|
<LI><A HREF="#port">Port-based vhosts</A>
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2>Additional features</h2>
|
<H2>Additional features</H2>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A HREF="#default">Using <CODE>_default_</CODE> vhosts</A>
|
<LI><A HREF="#default">Using <CODE>_default_</CODE> vhosts</A>
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="ip">IP-based vhosts only</A></h3>
|
<H3><A NAME="ip">IP-based vhosts only</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
</UL>
|
</UL>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="name">Name-based vhosts only</A></h3>
|
<H3><A NAME="name">Name-based vhosts only</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -228,9 +228,9 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="mixed">Mixed name-/IP-based vhosts</A></h3>
|
<H3><A NAME="mixed">Mixed name-/IP-based vhosts</A></H3>
|
||||||
|
|
||||||
<Ul>
|
<UL>
|
||||||
|
|
||||||
<LI><STRONG>Setup:</STRONG>
|
<LI><STRONG>Setup:</STRONG>
|
||||||
The server machine has three IP addresses (<SAMP>111.22.33.44</SAMP>,
|
The server machine has three IP addresses (<SAMP>111.22.33.44</SAMP>,
|
||||||
@@ -285,7 +285,7 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="port">Port-based vhosts</A></h3>
|
<H3><A NAME="port">Port-based vhosts</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -318,7 +318,7 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="default">Using <CODE>_default_</CODE> vhosts</A></h3>
|
<H3><A NAME="default">Using <CODE>_default_</CODE> vhosts</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -398,7 +398,7 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="migrate">Migrating a name-based vhost to an IP-based vhost</A></h3>
|
<H3><A NAME="migrate">Migrating a name-based vhost to an IP-based vhost</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -443,7 +443,7 @@
|
|||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h3><A NAME="serverpath">Using the <CODE>ServerPath</CODE> directive</A></h3>
|
<H3><A NAME="serverpath">Using the <CODE>ServerPath</CODE> directive</A></H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">File Descriptor Limits</H1>
|
<H1 ALIGN="CENTER">File Descriptor Limits</H1>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
When using a large number of Virtual Hosts, Apache may run out of available
|
When using a large number of Virtual Hosts, Apache may run out of available
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">File Descriptor Limits</H1>
|
<H1 ALIGN="CENTER">File Descriptor Limits</H1>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
When using a large number of Virtual Hosts, Apache may run out of available
|
When using a large number of Virtual Hosts, Apache may run out of available
|
||||||
|
@@ -12,14 +12,14 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache non-IP Virtual Hosts</H1>
|
<H1 ALIGN="CENTER">Apache non-IP Virtual Hosts</H1>
|
||||||
|
|
||||||
<STRONG>See Also:</STRONG>
|
<STRONG>See Also:</STRONG>
|
||||||
<A HREF="virtual-host.html">Virtual Host Support</A>
|
<A HREF="virtual-host.html">Virtual Host Support</A>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>What is a Virtual Host</h2>
|
<H2>What is a Virtual Host</H2>
|
||||||
|
|
||||||
<P>The "Virtual Host" refers to the practice of maintaining more than
|
<P>The "Virtual Host" refers to the practice of maintaining more than
|
||||||
one server on one machine, as differentiated by their apparent
|
one server on one machine, as differentiated by their apparent
|
||||||
@@ -52,7 +52,7 @@ latest versions of many browsers (including Netscape Navigator 2.0 and
|
|||||||
later) do, but many browsers, especially older ones, do not. This can
|
later) do, but many browsers, especially older ones, do not. This can
|
||||||
cause problems, although a possible solution is addressed below.</P>
|
cause problems, although a possible solution is addressed below.</P>
|
||||||
|
|
||||||
<h2>Using non-IP Virtual Hosts</h2>
|
<H2>Using non-IP Virtual Hosts</H2>
|
||||||
|
|
||||||
<P>Using the new virtual hosts is quite easy, and superficially looks
|
<P>Using the new virtual hosts is quite easy, and superficially looks
|
||||||
like the old method. You simply add to one of the Apache configuration
|
like the old method. You simply add to one of the Apache configuration
|
||||||
@@ -95,7 +95,7 @@ familiar with typing "www" or "www.physics" then you will need to add
|
|||||||
server to know what domain the client uses for their name resolution
|
server to know what domain the client uses for their name resolution
|
||||||
because the client doesn't provide that information in the request.</P>
|
because the client doesn't provide that information in the request.</P>
|
||||||
|
|
||||||
<h2>Security Considerations</h2>
|
<H2>Security Considerations</H2>
|
||||||
|
|
||||||
Apache allows all virtual hosts to be made accessible via the
|
Apache allows all virtual hosts to be made accessible via the
|
||||||
<CODE>Host:</CODE> header through all IP interfaces, even those which
|
<CODE>Host:</CODE> header through all IP interfaces, even those which
|
||||||
@@ -126,7 +126,7 @@ layer - all security controls used by Apache (i.e., <A
|
|||||||
HREF="mod/mod_access.html">allow, deny from,</A> etc.) are consistently
|
HREF="mod/mod_access.html">allow, deny from,</A> etc.) are consistently
|
||||||
respected.
|
respected.
|
||||||
|
|
||||||
<h2>Compatibility with Older Browsers</h2>
|
<H2>Compatibility with Older Browsers</H2>
|
||||||
|
|
||||||
<P>As mentioned earlier, a majority of browsers do not send the
|
<P>As mentioned earlier, a majority of browsers do not send the
|
||||||
required data for the new virtual hosts to work properly. These
|
required data for the new virtual hosts to work properly. These
|
||||||
|
@@ -13,14 +13,14 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache IP-based Virtual Host Support</H1>
|
<H1 ALIGN="CENTER">Apache IP-based Virtual Host Support</H1>
|
||||||
|
|
||||||
<STRONG>See also:</STRONG>
|
<STRONG>See also:</STRONG>
|
||||||
<A HREF="name-based.html">Name-based Virtual Hosts Support</A>
|
<A HREF="name-based.html">Name-based Virtual Hosts Support</A>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>System requirements</h2>
|
<H2>System requirements</H2>
|
||||||
As the term <CITE>IP-based</CITE> indicates, the server <STRONG>must have a
|
As the term <CITE>IP-based</CITE> indicates, the server <STRONG>must have a
|
||||||
different IP address for each IP-based virtual host</STRONG>.
|
different IP address for each IP-based virtual host</STRONG>.
|
||||||
This can be achieved by the machine having several physical network connections,
|
This can be achieved by the machine having several physical network connections,
|
||||||
@@ -29,7 +29,7 @@ operating systems (see system documentation for details, these are
|
|||||||
frequently called "ip aliases", and the "ifconfig" command
|
frequently called "ip aliases", and the "ifconfig" command
|
||||||
is most commonly used to set them up).
|
is most commonly used to set them up).
|
||||||
|
|
||||||
<h2>How to set up Apache</h2>
|
<H2>How to set up Apache</H2>
|
||||||
There are two ways of configuring apache to support multiple hosts.
|
There are two ways of configuring apache to support multiple hosts.
|
||||||
Either by running a separate httpd daemon for each hostname, or by running a
|
Either by running a separate httpd daemon for each hostname, or by running a
|
||||||
single daemon which supports all the virtual hosts.
|
single daemon which supports all the virtual hosts.
|
||||||
@@ -60,7 +60,7 @@ Use a single daemon when:
|
|||||||
loss in running separate daemons may be significant.
|
loss in running separate daemons may be significant.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2>Setting up multiple daemons</h2>
|
<H2>Setting up multiple daemons</H2>
|
||||||
Create a separate httpd installation for each virtual host.
|
Create a separate httpd installation for each virtual host.
|
||||||
For each installation, use the
|
For each installation, use the
|
||||||
<A HREF="../mod/core.html#listen">Listen</A> directive in the configuration
|
<A HREF="../mod/core.html#listen">Listen</A> directive in the configuration
|
||||||
@@ -72,7 +72,7 @@ e.g.
|
|||||||
It is recommended that you use an IP address instead of a hostname
|
It is recommended that you use an IP address instead of a hostname
|
||||||
(see <A HREF="../dns-caveats.html">DNS caveats</A>).
|
(see <A HREF="../dns-caveats.html">DNS caveats</A>).
|
||||||
|
|
||||||
<h2>Setting up a single daemon with virtual hosts</h2>
|
<H2>Setting up a single daemon with virtual hosts</H2>
|
||||||
For this case, a single httpd will service requests for the main server
|
For this case, a single httpd will service requests for the main server
|
||||||
and all the virtual hosts.
|
and all the virtual hosts.
|
||||||
The <A HREF="../mod/core.html#virtualhost">VirtualHost</A> directive in the
|
The <A HREF="../mod/core.html#virtualhost">VirtualHost</A> directive in the
|
||||||
|
@@ -12,14 +12,14 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache name-based Virtual Host Support</H1>
|
<H1 ALIGN="CENTER">Apache name-based Virtual Host Support</H1>
|
||||||
|
|
||||||
<STRONG>See Also:</STRONG>
|
<STRONG>See Also:</STRONG>
|
||||||
<A HREF="ip-based.html">IP-based Virtual Host Support</A>
|
<A HREF="ip-based.html">IP-based Virtual Host Support</A>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Name-based vs. IP-based virtual hosts</h2>
|
<H2>Name-based vs. IP-based virtual hosts</H2>
|
||||||
|
|
||||||
<P>While the approach with IP-based virtual hosts works very well,
|
<P>While the approach with IP-based virtual hosts works very well,
|
||||||
it is not the most elegant solution, because a dedicated IP address
|
it is not the most elegant solution, because a dedicated IP address
|
||||||
@@ -37,7 +37,7 @@ protocol. The latest versions of most browsers do, but there are still
|
|||||||
old browsers in use who do not. This can cause problems, although a possible
|
old browsers in use who do not. This can cause problems, although a possible
|
||||||
solution is addressed below.</P>
|
solution is addressed below.</P>
|
||||||
|
|
||||||
<h2>Using non-IP Virtual Hosts</h2>
|
<H2>Using non-IP Virtual Hosts</H2>
|
||||||
|
|
||||||
<P>Using the new virtual hosts is quite easy, and superficially looks
|
<P>Using the new virtual hosts is quite easy, and superficially looks
|
||||||
like the old method. You simply add to one of the Apache configuration
|
like the old method. You simply add to one of the Apache configuration
|
||||||
@@ -89,7 +89,7 @@ familiar with typing "www" or "www.foobar" then you will need to add
|
|||||||
server to know what domain the client uses for their name resolution
|
server to know what domain the client uses for their name resolution
|
||||||
because the client doesn't provide that information in the request.</P>
|
because the client doesn't provide that information in the request.</P>
|
||||||
|
|
||||||
<h2>Compatibility with Older Browsers</h2>
|
<H2>Compatibility with Older Browsers</H2>
|
||||||
|
|
||||||
<P>As mentioned earlier, there are still some clients in use who
|
<P>As mentioned earlier, there are still some clients in use who
|
||||||
do not send the required data for the name-based virtual hosts to work
|
do not send the required data for the name-based virtual hosts to work
|
||||||
|
@@ -12,14 +12,14 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Apache name-based Virtual Host Support</H1>
|
<H1 ALIGN="CENTER">Apache name-based Virtual Host Support</H1>
|
||||||
|
|
||||||
<STRONG>See Also:</STRONG>
|
<STRONG>See Also:</STRONG>
|
||||||
<A HREF="ip-based.html">IP-based Virtual Host Support</A>
|
<A HREF="ip-based.html">IP-based Virtual Host Support</A>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<h2>Name-based vs. IP-based virtual hosts</h2>
|
<H2>Name-based vs. IP-based virtual hosts</H2>
|
||||||
|
|
||||||
<P>While the approach with IP-based virtual hosts works very well,
|
<P>While the approach with IP-based virtual hosts works very well,
|
||||||
it is not the most elegant solution, because a dedicated IP address
|
it is not the most elegant solution, because a dedicated IP address
|
||||||
@@ -37,7 +37,7 @@ protocol. The latest versions of most browsers do, but there are still
|
|||||||
old browsers in use who do not. This can cause problems, although a possible
|
old browsers in use who do not. This can cause problems, although a possible
|
||||||
solution is addressed below.</P>
|
solution is addressed below.</P>
|
||||||
|
|
||||||
<h2>Using non-IP Virtual Hosts</h2>
|
<H2>Using non-IP Virtual Hosts</H2>
|
||||||
|
|
||||||
<P>Using the new virtual hosts is quite easy, and superficially looks
|
<P>Using the new virtual hosts is quite easy, and superficially looks
|
||||||
like the old method. You simply add to one of the Apache configuration
|
like the old method. You simply add to one of the Apache configuration
|
||||||
@@ -89,7 +89,7 @@ familiar with typing "www" or "www.foobar" then you will need to add
|
|||||||
server to know what domain the client uses for their name resolution
|
server to know what domain the client uses for their name resolution
|
||||||
because the client doesn't provide that information in the request.</P>
|
because the client doesn't provide that information in the request.</P>
|
||||||
|
|
||||||
<h2>Compatibility with Older Browsers</h2>
|
<H2>Compatibility with Older Browsers</H2>
|
||||||
|
|
||||||
<P>As mentioned earlier, there are still some clients in use who
|
<P>As mentioned earlier, there are still some clients in use who
|
||||||
do not send the required data for the name-based virtual hosts to work
|
do not send the required data for the name-based virtual hosts to work
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">An In-Depth Discussion of VirtualHost Matching</H1>
|
<H1 ALIGN="CENTER">An In-Depth Discussion of VirtualHost Matching</H1>
|
||||||
|
|
||||||
<P>This is a very rough document that was probably out of date the moment
|
<P>This is a very rough document that was probably out of date the moment
|
||||||
it was written. It attempts to explain exactly what the code does when
|
it was written. It attempts to explain exactly what the code does when
|
||||||
@@ -23,7 +23,7 @@ under discussion is Apache 1.2.
|
|||||||
<P>If you just want to "make it work" without understanding
|
<P>If you just want to "make it work" without understanding
|
||||||
how, there's a <A HREF="#whatworks">What Works</A> section at the bottom.
|
how, there's a <A HREF="#whatworks">What Works</A> section at the bottom.
|
||||||
|
|
||||||
<h3>Config File Parsing</h3>
|
<H3>Config File Parsing</H3>
|
||||||
|
|
||||||
<P>There is a main_server which consists of all the definitions appearing
|
<P>There is a main_server which consists of all the definitions appearing
|
||||||
outside of <CODE>VirtualHost</CODE> sections. There are virtual servers,
|
outside of <CODE>VirtualHost</CODE> sections. There are virtual servers,
|
||||||
@@ -184,7 +184,7 @@ statement.
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<h3>Vhost Matching</h3>
|
<H3>Vhost Matching</H3>
|
||||||
|
|
||||||
|
|
||||||
<P><STRONG>Apache 1.3 differs from what is documented
|
<P><STRONG>Apache 1.3 differs from what is documented
|
||||||
@@ -269,7 +269,7 @@ in <CODE>check_hostalias</CODE> is performed to match any
|
|||||||
<STRONG>last match</STRONG> is used regardless (again consider the ordering of
|
<STRONG>last match</STRONG> is used regardless (again consider the ordering of
|
||||||
the virtual hosts).
|
the virtual hosts).
|
||||||
|
|
||||||
<h3>Observations</h3>
|
<H3>Observations</H3>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ the virtual hosts).
|
|||||||
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h3><A name="whatworks">What Works</A></h3>
|
<H3><A name="whatworks">What Works</A></H3>
|
||||||
|
|
||||||
<P>In addition to the tips on the <A HREF="dns-caveats.html#tips">DNS
|
<P>In addition to the tips on the <A HREF="dns-caveats.html#tips">DNS
|
||||||
Issues</A> page, here are some further tips:
|
Issues</A> page, here are some further tips:
|
||||||
|
@@ -13,12 +13,12 @@
|
|||||||
ALINK="#FF0000"
|
ALINK="#FF0000"
|
||||||
>
|
>
|
||||||
<!--#include virtual="header.html" -->
|
<!--#include virtual="header.html" -->
|
||||||
<h1 ALIGN="CENTER">Virtual Host Support</H1>
|
<H1 ALIGN="CENTER">Virtual Host Support</H1>
|
||||||
|
|
||||||
<STRONG>See Also:</STRONG>
|
<STRONG>See Also:</STRONG>
|
||||||
<A HREF="host.html">Non-IP based virtual hosts</A>
|
<A HREF="host.html">Non-IP based virtual hosts</A>
|
||||||
|
|
||||||
<h2>What are virtual hosts?</h2>
|
<H2>What are virtual hosts?</H2>
|
||||||
This is the ability of a single machine to be a web server for multiple
|
This is the ability of a single machine to be a web server for multiple
|
||||||
domains. For example, an Internet service provider might have a machine
|
domains. For example, an Internet service provider might have a machine
|
||||||
called <CODE>www.serve.com</CODE> which provides Web space for several
|
called <CODE>www.serve.com</CODE> which provides Web space for several
|
||||||
@@ -51,14 +51,14 @@ and baygroup's home page would would have the URL
|
|||||||
http://www.baygroup.org/
|
http://www.baygroup.org/
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
<h2>System requirements</h2>
|
<H2>System requirements</H2>
|
||||||
Due to limitations in the HTTP/1.0 protocol, the web server <STRONG>must have a
|
Due to limitations in the HTTP/1.0 protocol, the web server <STRONG>must have a
|
||||||
different IP address for each virtual host</STRONG>. This can be achieved
|
different IP address for each virtual host</STRONG>. This can be achieved
|
||||||
by the machine having several physical network connections, or by use
|
by the machine having several physical network connections, or by use
|
||||||
of a <A HREF="../misc/vif-info.html">virtual interface</A> on some operating
|
of a <A HREF="../misc/vif-info.html">virtual interface</A> on some operating
|
||||||
systems.
|
systems.
|
||||||
|
|
||||||
<h2>How to set up Apache</h2>
|
<H2>How to set up Apache</H2>
|
||||||
There are two ways of configuring apache to support multiple hosts.
|
There are two ways of configuring apache to support multiple hosts.
|
||||||
Either by running a separate httpd daemon for each hostname, or by running a
|
Either by running a separate httpd daemon for each hostname, or by running a
|
||||||
single daemon which supports all the virtual hosts.
|
single daemon which supports all the virtual hosts.
|
||||||
@@ -80,7 +80,7 @@ Use a single daemon when:
|
|||||||
loss in running separate daemons may be significant.
|
loss in running separate daemons may be significant.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<h2>Setting up multiple daemons</h2>
|
<H2>Setting up multiple daemons</H2>
|
||||||
Create a separate httpd installation for each virtual host.
|
Create a separate httpd installation for each virtual host.
|
||||||
For each installation, use the
|
For each installation, use the
|
||||||
<A HREF="mod/core.html#bindaddress">BindAddress</A> directive in the configuration
|
<A HREF="mod/core.html#bindaddress">BindAddress</A> directive in the configuration
|
||||||
@@ -89,7 +89,7 @@ e.g.
|
|||||||
<BLOCKQUOTE><CODE>BindAddress www.smallco.com</CODE></BLOCKQUOTE>
|
<BLOCKQUOTE><CODE>BindAddress www.smallco.com</CODE></BLOCKQUOTE>
|
||||||
This hostname can also be given as an IP address.
|
This hostname can also be given as an IP address.
|
||||||
|
|
||||||
<h2>Setting up a single daemon</h2>
|
<H2>Setting up a single daemon</H2>
|
||||||
For this case, a single httpd will service requests for all the virtual hosts.
|
For this case, a single httpd will service requests for all the virtual hosts.
|
||||||
The <A HREF="mod/core.html#virtualhost">VirtualHost</A> directive in the
|
The <A HREF="mod/core.html#virtualhost">VirtualHost</A> directive in the
|
||||||
configuration file is used to set the values of
|
configuration file is used to set the values of
|
||||||
|
Reference in New Issue
Block a user