1
0
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:
Ken Coar
1998-02-05 20:05:18 +00:00
parent 3ff603fdf5
commit 80c32a1d5f
75 changed files with 486 additions and 486 deletions

View File

@@ -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
&lt;VirtualHost&gt; is set for an address and port that the server is &lt;VirtualHost&gt; 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>,

View File

@@ -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
&lt;VirtualHost&gt; is set for an address and port that the server is &lt;VirtualHost&gt; 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>,

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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.
&lt;/VirtualHost&gt; &lt;/VirtualHost&gt;
</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>&lt;VirtualHost&gt</CODE> <LI> use IP addresses in <CODE>&lt;VirtualHost&gt</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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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/">&lt;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

View File

@@ -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/">&lt;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

View File

@@ -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

View File

@@ -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

View File

@@ -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>&lt;Location&gt;</CODE> Directive</A></h2> <H2><A name="location">The <CODE>&lt;Location&gt;</CODE> Directive</A></H2>
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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

View File

@@ -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);

View File

@@ -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 &lt;Directory&gt; and &lt;/Directory&gt; directives -but not the &lt;Directory&gt; and &lt;/Directory&gt; 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>&lt;!--#include virtual="head" --&gt;</CODE> directives <CODE>&lt;!--#include virtual="head" --&gt;</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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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 &lt;?INDEX {\tt User} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt User} directive&gt; -->

View File

@@ -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 &lt;?INDEX {\tt allow} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt allow} directive&gt; -->
<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 &lt;?INDEX {\tt deny} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt deny} directive&gt; -->
<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 &lt;?INDEX {\tt order} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt order} directive&gt; -->
<A <A

View File

@@ -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"

View File

@@ -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 &lt;?INDEX {\tt Alias} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt Alias} directive&gt; -->
<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 &lt;?INDEX {\tt Redirect} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt Redirect} directive&gt; -->
<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 &lt;?INDEX {\tt Redirect} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt Redirect} directive&gt; -->
<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 &lt;?INDEX {\tt Redirect} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt Redirect} directive&gt; -->
<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 &lt;?INDEX {\tt ScriptAlias} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt ScriptAlias} directive&gt; -->
<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"

View File

@@ -22,14 +22,14 @@ document with mime type <CODE>httpd/send-as-is</CODE> will be processed by
this module. this module.
<!--%plaintext &lt;?INDEX {\tt httpd/send-as-is} mime type&gt; --> <!--%plaintext &lt;?INDEX {\tt httpd/send-as-is} mime type&gt; -->
<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>

View File

@@ -29,7 +29,7 @@ textual files.
<HR> <HR>
<A name="authgroupfile"><h2>AuthGroupFile</h2></A> <A name="authgroupfile"><H2>AuthGroupFile</H2></A>
<!--%plaintext &lt;?INDEX {\tt AuthGroupFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthGroupFile} directive&gt; -->
<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 &lt;?INDEX {\tt AuthUserFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthUserFile} directive&gt; -->
<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 &lt;?INDEX {\tt AuthAuthoritative} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthAuthoritative} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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 &lt;?INDEX {\tt Anonymous} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt Anonymous} directive&gt; -->
<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 &lt;?INDEX {\tt Anonymous_MustGiveEmail} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt Anonymous_MustGiveEmail} directive&gt; -->
<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

View File

@@ -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 &lt;?INDEX {\tt AuthDBGroupFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthDBGroupFile} directive&gt; -->
<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 &lt;?INDEX {\tt AuthDBUserFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthDBUserFile} directive&gt; -->
<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 &lt;?INDEX {\tt AuthDBAuthoritative} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthDBAuthoritative} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -29,7 +29,7 @@ DBM files.
<HR> <HR>
<A name="authdbmgroupfile"><h2>AuthDbmGroupFile</h2></A> <A name="authdbmgroupfile"><H2>AuthDbmGroupFile</H2></A>
<!--%plaintext &lt;?INDEX {\tt AuthDbmGroupFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthDbmGroupFile} directive&gt; -->
<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 &lt;?INDEX {\tt AuthDBMUserFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthDBMUserFile} directive&gt; -->
<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 &lt;?INDEX {\tt AuthDBMAuthoritative} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AuthDBMAuthoritative} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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 &quot;1K&quot;.
</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 &quot;1K&quot;.
</MENU> </MENU>
<HR> <HR>
<A name="addalt"><h2>AddAlt</h2></A> <A name="addalt"><H2>AddAlt</H2></A>
<!--%plaintext &lt;?INDEX {\tt AddAlt} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddAlt} directive&gt; -->
<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 &lt;?INDEX {\tt AddAltByEncoding} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddAltByEncoding} directive&gt; -->
<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 &lt;?INDEX {\tt AddAltByType} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddAltByType} directive&gt; -->
<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 &lt;?INDEX {\tt AddDescription} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddDescription} directive&gt; -->
<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 &lt;?INDEX {\tt AddIcon} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddIcon} directive&gt; -->
<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 &lt;?INDEX {\tt AddIconByEncoding} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddIconByEncoding} directive&gt; -->
<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 &lt;?INDEX {\tt AddIconByType} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddIconByType} directive&gt; -->
<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 &lt;?INDEX {\tt DefaultIcon} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt DefaultIcon} directive&gt; -->
<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 &lt;?INDEX {\tt FancyIndexing} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt FancyIndexing} directive&gt; -->
<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 &lt;?INDEX {\tt HeaderName} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt HeaderName} directive&gt; -->
<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 &lt;?INDEX {\tt IndexIgnore} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt IndexIgnore} directive&gt; -->
<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 &lt;?INDEX {\tt IndexOptions} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt IndexOptions} directive&gt; -->
<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 &lt;?INDEX {\tt ReadmeName} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt ReadmeName} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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"

View File

@@ -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 &lt;?INDEX {\tt application/x-httpd-cgi} mime type&gt; --> <!--%plaintext &lt;?INDEX {\tt application/x-httpd-cgi} mime type&gt; -->
<!--%plaintext &lt;?INDEX CGI scripts&gt; --> <!--%plaintext &lt;?INDEX CGI scripts&gt; -->
<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"

View File

@@ -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 &lt;?INDEX {\tt DirectoryIndex} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt DirectoryIndex} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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"

View File

@@ -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

View File

@@ -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. &lt;hr&gt; <BR> #And can contain html tags. &lt;hr&gt; <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>
&lt;A HREF="/maps/imagemap1.map"&gt; <BR> &lt;A HREF="/maps/imagemap1.map"&gt; <BR>
&lt;IMG ISMAP SRC="/images/imagemap1.gif"&gt; <BR> &lt;IMG ISMAP SRC="/images/imagemap1.gif"&gt; <BR>

View File

@@ -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 &lt;?INDEX {\tt XBitHack} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt XBitHack} directive&gt; -->
<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

View File

@@ -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

View File

@@ -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

View File

@@ -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 &lt;?INDEX {\tt AgentLog} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AgentLog} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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 &lt;VirtualHost&gt; section does not contain any If a &lt;VirtualHost&gt; 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 &lt;?INDEX {\tt CookieLog} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt CookieLog} directive&gt; -->
<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 &lt;?INDEX {\tt LogFormat} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt LogFormat} directive&gt; -->
<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 &lt;?INDEX {\tt TransferLog} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt TransferLog} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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>-&gt;</CODE> <EM>document</EM></BLOCKQUOTE> <BLOCKQUOTE><EM>uri</EM> <CODE>-&gt;</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 &lt;?INDEX {\tt RefererIgnore} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt RefererIgnore} directive&gt; -->
<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 &lt;?INDEX {\tt RefererLog} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt RefererLog} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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 &lt;?INDEX {\tt AddEncoding} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddEncoding} directive&gt; -->
<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 &lt;?INDEX {\tt AddLanguage} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddLanguage} directive&gt; -->
<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 &lt;?INDEX {\tt AddType} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt AddType} directive&gt; -->
<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 &lt;?INDEX {\tt TypesConfig} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt TypesConfig} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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

View File

@@ -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 &lt;?INDEX {\tt LanguagePriority} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt LanguagePriority} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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 &lt;Directory&gt; You can control who can access your proxy via the normal &lt;Directory&gt;
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 &lt;Files&gt; block will also work, and is the only method known to work A &lt;Files&gt; 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

View File

@@ -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

View File

@@ -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 &lt;?INDEX {\tt LoadFile} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt LoadFile} directive&gt; -->
<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 &lt;?INDEX {\tt LoadModule} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt LoadModule} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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 &lt;?INDEX {\tt CheckSpelling} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt CheckSpelling} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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

View File

@@ -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.

View File

@@ -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 &lt;?INDEX {\tt UserDir} directive&gt; --> <!--%plaintext &lt;?INDEX {\tt UserDir} directive&gt; -->
<A <A
HREF="directive-dict.html#Syntax" HREF="directive-dict.html#Syntax"

View File

@@ -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"

View File

@@ -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

View File

@@ -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>

View File

@@ -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>&lt;Directory&gt;</CODE></A>, <A HREF="mod/core.html#directory"><CODE>&lt;Directory&gt;</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>&lt;Directory&gt;</CODE> is also allowed in <CODE>&lt;Directory&gt;</CODE> is also allowed in
@@ -37,7 +37,7 @@ notable is AllowOverrides, make no sense in
<CODE>&lt;Files&gt;</CODE> -- syntactically everything is fine, but <CODE>&lt;Files&gt;</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:

View File

@@ -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>&lt;Directory&gt;</CODE></A>, <A HREF="mod/core.html#directory"><CODE>&lt;Directory&gt;</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>&lt;Directory&gt;</CODE> is also allowed in <CODE>&lt;Directory&gt;</CODE> is also allowed in
@@ -37,7 +37,7 @@ notable is AllowOverrides, make no sense in
<CODE>&lt;Files&gt;</CODE> -- syntactically everything is fine, but <CODE>&lt;Files&gt;</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:

View File

@@ -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

View File

@@ -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

View File

@@ -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>&lt;VirtualHost&gt;</CODE> sections. the definitions appearing outside of <CODE>&lt;VirtualHost&gt;</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:

View File

@@ -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 &quot;make it work&quot; without understanding <P>If you just want to &quot;make it work&quot; 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:

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 &quot;make it work&quot; without understanding <P>If you just want to &quot;make it work&quot; 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:

View File

@@ -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