by looking at a few bytes of its contents</description></dd><dt><a href="mod_negotiation.html">mod_negotiation</a></dt><dd><description>Provides for <a href="../content-negotiation.html">content negotiation</a></description></dd><dt><a href="mod_proxy.html">mod_proxy</a></dt><dd><description>HTTP/1.1 proxy/gateway server</description></dd><dt><a href="mod_rewrite.html">mod_rewrite</a></dt><dd><description>Provides a rule-based rewriting engine to rewrite requested
URLs on the fly</description></dd><dt><a href="mod_setenvif.html">mod_setenvif</a></dt><dd><description>Allows the setting of environment variables based
on characteristics of the request</description></dd><dt><a href="mod_so.html">mod_so</a></dt><dd><description>
-This module provides for loading of executable code and
-modules into the server at start-up or restart time.</description></dd><dt><a href="mod_speling.html">mod_speling</a></dt><dd><description>Attempts to correct mistaken URLs that
+ This module provides for loading of executable code and
+ modules into the server at start-up or restart time.
+</description></dd><dt><a href="mod_speling.html">mod_speling</a></dt><dd><description>Attempts to correct mistaken URLs that
users might have entered by ignoring capitalization and by
allowing up to one misspelling</description></dd><dt><a href="mod_ssl.html">mod_ssl</a></dt><dd><description>Strong cryptography using the Secure Sockets
Layer (SSL) and Transport Layer Security (TLS) protocols</description></dd><dt><a href="mod_status.html">mod_status</a></dt><dd><description>Provides information on server activity and
<p>Files processed for server-side includes no longer accept
requests with PATH_INFO (trailing pathname information) by
- default. You can use the <a href="code.html#acceptpathinfo" class="directive"><code class="directive">AcceptPathInfo</code></a> directive to
+ default. You can use the <a href="core.html#acceptpathinfo" class="directive"><code class="directive">AcceptPathInfo</code></a> directive to
configure the server to accept requests with PATH_INFO.</p>
<hr/><h2><a name="SSIEndTag">SSIEndTag</a> <a name="ssiendtag">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Changes the string that mod_include looks for to end an
-include command.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>SSIEndTag <em>tag</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSIEndTag "-->"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Apache 1.2 and Available in version 2.0.30 and later.
+include command.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>SSIEndTag <em>tag</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>SSIEndTag "-->"</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Base</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_include</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in version 2.0.30 and later.
</td></tr></table></td></tr></table><usage>
<p>This directive changes the string that mod_include looks for
to mark the end of a include command.</p>
<p>Please note that the <strong>caching</strong> function present in
mod_proxy up to Apache v1.3.x has been <strong>removed</strong> from
mod_proxy and will be incorporated into a new module, mod_cache.</p>
+
+<blockquote><table><tr><td bgcolor="#ffe5f5"><p>Do not enable proxying with <a href="#proxyrequests" class="directive"><code class="directive">ProxyRequests</code></a> until you have
+<a href="#access">secured your server</a>. Open proxy servers are
+dangerous both to your network and to the Internet at large.</p></td></tr></table></blockquote>
+
+
</summary><h2>Directives</h2><ul><li><a href="#allowconnect">AllowCONNECT</a></li><li><a href="#noproxy">NoProxy</a></li><li><a href="#proxyblock">ProxyBlock</a></li><li><a href="#proxydomain">ProxyDomain</a></li><li><a href="#proxyerroroverride">ProxyErrorOverride</a></li><li><a href="#proxymaxforwards">ProxyMaxForwards</a></li><li><a href="#proxypass">ProxyPass</a></li><li><a href="#proxypassreverse">ProxyPassReverse</a></li><li><a href="#proxypreservehost">ProxyPreserveHost</a></li><li><a href="#proxyreceivebuffersize">ProxyReceiveBufferSize</a></li><li><a href="#proxyremote">ProxyRemote</a></li><li><a href="#proxyrequests">ProxyRequests</a></li><li><a href="#proxytimeout">ProxyTimeout</a></li><li><a href="#proxyvia">ProxyVia</a></li></ul><h2><a name="configs">Common configuration topics</a></h2>
<ul>
<h3><a name="access">Controlling access to your proxy</a></h3>
+
+
<p>You can control who can access your proxy via the normal <a href="core.html#directory" class="directive"><code class="directive"><Directory></code></a>
control block using the following example:</p>
<p>In a typical reverse proxy configuration, this option should be set to
'off'.</p>
+
+<blockquote><table><tr><td bgcolor="#ffe5f5"><p>Do not enable proxying with <a href="#proxyrequests" class="directive"><code class="directive">ProxyRequests</code></a> until you have
+<a href="#access">secured your server</a>. Open proxy servers are
+dangerous both to your network and to the Internet at large.</p></td></tr></table></blockquote>
+
</usage><hr/><h2><a name="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>ProxyTimeout <em>seconds</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>ProxyTimeout 300</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_proxy</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>Available in
Apache 2.0.31 and later</td></tr></table></td></tr></table><usage>
<p>This directive allows a user to specifiy a timeout on proxy requests.
<em>``The great thing about mod_rewrite is it gives you
all the configurability and flexibility of Sendmail.
The downside to mod_rewrite is that it gives you all
- the configurability and flexibility of Sendmail.''</em>
-
+ the configurability and flexibility of Sendmail.''</em><br>
+
+ -- Brian Behlendorf<br>
+ Apache Group
- <div align="RIGHT">
- -- Brian Behlendorf<br>
- Apache Group
- </div>
</blockquote>
<blockquote>
<em>`` Despite the tons of examples and docs,
mod_rewrite is voodoo. Damned cool voodoo, but still
- voodoo. ''</em>
+ voodoo. ''</em> <br>
+
+ -- Brian Moore<br>
+ bem@news.cmc.net
- <div align="RIGHT">
- -- Brian Moore<br>
- bem@news.cmc.net
- </div>
</blockquote>
directives). For historical reasons the conditions are given
first, and so the control flow is a little bit long-winded. See
Figure 1 for more details.</p>
-
- <div align="CENTER">
- <table cellspacing="0" cellpadding="2" border="0">
- <tr>
- <td bgcolor="#CCCCCC"><img src="../images/mod_rewrite_fig1.gif" width="428" height="385" alt="[Needs graphics capability to display]"></td>
- </tr>
-
- <tr>
- <td align="CENTER"><strong>Figure 1:</strong> The
- control flow through the rewriting ruleset</td>
- </tr>
- </table>
- </div>
+<h3/>
+ <img src="../images/mod_rewrite_fig1.gif" border="1" width="428" height="385" alt="[Needs graphics capability to display]">
+ <p><strong>Figure 1:</strong>The control flow through the rewriting ruleset</p>
<p>As you can see, first the URL is matched against the
<em>Pattern</em> of each rule. When it fails mod_rewrite
<h3><a name="quoting">Quoting Special Characters</a></h3>
<p>As of Apache 1.3.20, special characters in
- <i>TestString</i> and <i>Substitution</i> strings can be
+ <em>TestString</em> and <em>Substitution</em> strings can be
escaped (that is, treated as normal characters without their
usual special meaning) by prefixing them with a slosh ('\')
character. In other words, you can include an actual
- dollar-sign character in a <i>Substitution</i> string by
+ dollar-sign character in a <em>Substitution</em> string by
using '<code>\$</code>'; this keeps mod_rewrite from trying
to treat it as a backreference.</p>
Figure 2 shows to which locations the back-references are
transfered for expansion.</p>
- <div align="CENTER">
- <table cellspacing="0" cellpadding="2" border="0">
- <tr>
- <td bgcolor="#CCCCCC"><img src="../images/mod_rewrite_fig2.gif" width="381" height="179" alt="[Needs graphics capability to display]"></td>
- </tr>
-
- <tr>
- <td align="CENTER"><strong>Figure 2:</strong> The
- back-reference flow through a rule</td>
- </tr>
- </table>
- </div>
+<h3/>
+ <img src="../images/mod_rewrite_fig2.gif" border="1" width="381" height="179" alt="[Needs graphics capability to display]">
+ <p><strong>Figure 2:</strong> The back-reference flow through a rule.</p>
<p>We know this was a crash course on mod_rewrite's internal
processing. But you will benefit from this knowledge when
practical solutions for URL-based problems. There you can
find real-life rulesets and additional information about
mod_rewrite.</p>
-<hr/><h2><a name="RewriteBase">RewriteBase</a> <a name="rewritebase">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the base URL for per-directory rewrites</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>RewriteBase <em>URL-path</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>RewriteBase physical-directory-path</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table><usage>
+<hr/><h2><a name="RewriteBase">RewriteBase</a> <a name="rewritebase">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the base URL for per-directory rewrites</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>RewriteBase <em>URL-path</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>See usage for information.</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table><usage>
<p>The <code class="directive">RewriteBase</code> directive explicitly
sets the base URL for per-directory rewrites. As you will see
below, <a href="#rewriterule" class="directive"><code class="directive">RewriteRule</code></a>
<em>i.e.</em>, the local directory prefix is stripped at this
stage of processing and your rewriting rules act only on the
remainder. At the end it is automatically added back to the
- path.</p>
+ path. The default setting is; <code class="directive">RewriteBase</code> <em>physical-directory-path</em></p>
<p>When a substitution occurs for a new URL, this module has
to re-inject the URL into the server processing. To be able
<p>The following list gives detailed information about
the internal processing steps:</p>
<pre>
-<font size="-1">Request:
+Request:
/xyz/oldstuff.html
Internal Processing:
Result:
/abc/def/newstuff.html
-</font>
</pre>
- <p><font size="-1">This seems very complicated but is
+ <p>This seems very complicated but is
the correct Apache internal processing, because the
per-directory rewriting comes too late in the
process. So, when it occurs the (rewritten) request
internally to the Apache server and the same
procedure is used by many other operations inside
Apache. So, you can be sure the design and
- implementation is correct.</font></p>
+ implementation is correct.</p>
</td></tr></table></blockquote>
</usage><hr/><h2><a name="RewriteCond">RewriteCond</a> <a name="rewritecond">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Defines a condition under which rewriting will take place
<table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
<tr>
- <td valign="TOP">
+ <td>
<strong>HTTP headers:</strong>
- <p><font size="-1">HTTP_USER_AGENT<br>
+ <p>HTTP_USER_AGENT<br>
HTTP_REFERER<br>
HTTP_COOKIE<br>
HTTP_FORWARDED<br>
HTTP_HOST<br>
HTTP_PROXY_CONNECTION<br>
HTTP_ACCEPT<br>
- </font></p>
+ </p>
</td>
- <td valign="TOP">
+ <td>
<strong>connection & request:</strong>
- <p><font size="-1">REMOTE_ADDR<br>
+ <p>REMOTE_ADDR<br>
REMOTE_HOST<br>
REMOTE_USER<br>
REMOTE_IDENT<br>
PATH_INFO<br>
QUERY_STRING<br>
AUTH_TYPE<br>
- </font></p>
+ </p>
</td>
</tr>
<tr>
- <td valign="TOP">
+ <td>
<strong>server internals:</strong>
- <p><font size="-1">DOCUMENT_ROOT<br>
+ <p>DOCUMENT_ROOT<br>
SERVER_ADMIN<br>
SERVER_NAME<br>
SERVER_ADDR<br>
SERVER_PORT<br>
SERVER_PROTOCOL<br>
SERVER_SOFTWARE<br>
- </font></p>
+ </p>
</td>
- <td valign="TOP">
+ <td>
<strong>system stuff:</strong>
- <p><font size="-1">TIME_YEAR<br>
+ <p>TIME_YEAR<br>
TIME_MON<br>
TIME_DAY<br>
TIME_HOUR<br>
TIME_SEC<br>
TIME_WDAY<br>
TIME<br>
- </font></p>
+ </p>
</td>
- <td valign="TOP">
+ <td>
<strong>specials:</strong>
- <p><font size="-1">API_VERSION<br>
+ <p>API_VERSION<br>
THE_REQUEST<br>
REQUEST_URI<br>
REQUEST_FILENAME<br>
IS_SUBREQ<br>
- </font></p>
+ </p>
</td>
</tr>
</table>
<em>TestString</em> is lexically equal to
<em>CondPattern</em>, i.e the two strings are exactly
equal (character by character). If <em>CondPattern</em>
- is just <samp>""</samp> (two quotation marks) this
+ is just <code>""</code> (two quotation marks) this
compares <em>TestString</em> to the empty string.</li>
<li>'<strong>-d</strong>' (is
<blockquote>
<strong><code>[</code><em>flags</em><code>]</code></strong>
</blockquote>
- as the third argument to the <code>RewriteCond</code>
+
+ <p>as the third argument to the <code>RewriteCond</code>
directive. <em>Flags</em> is a comma-separated list of the
- following flags:
+ following flags:</p>
<ul>
<li>'<strong><code>nocase|NC</code></strong>'
tables, <em>etc.</em> If you use any other browser you get
the standard homepage.</p>
-</usage><hr/><h2><a name="RewriteEngine">RewriteEngine</a> <a name="rewriteengine">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>RewriteEngine on|off</syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>RewriteEngine off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table><usage>
+</usage><hr/><h2><a name="RewriteEngine">RewriteEngine</a> <a name="rewriteengine">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Enables or disables runtime rewriting engine</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>RewriteEngine on|off</syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>RewriteEngine off</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td>FileInfo</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_rewrite</td></tr></table></td></tr></table><usage>
<p>The <code class="directive">RewriteEngine</code> directive enables or
disables the runtime rewriting engine. If it is set to
</ol>
</li>
</ul>
- The <code class="directive">RewriteMap</code> directive can occur more than
+ <p>The <code class="directive">RewriteMap</code> directive can occur more than
once. For each mapping-function use one
<code class="directive">RewriteMap</code> directive to declare its rewriting
mapfile. While you cannot <strong>declare</strong> a map in
per-directory context it is of course possible to
- <strong>use</strong> this map in per-directory context.
+ <strong>use</strong> this map in per-directory context. </p>
<blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p> For plain text and DBM format files the
looked-up keys are cached in-core until the <code>mtime</code> of the
<table bgcolor="#F0F0F0" cellspacing="0" cellpadding="5">
<tr>
- <td valign="TOP">
+ <td>
<pre>
<strong>Text:</strong>
<strong><code>.</code></strong> Any single character
<li><a href="#mapfunc">mapping-function</a> calls
(<code>${mapname:key|default}</code>)</li>
</ol>
- Back-references are <code>$</code><strong>N</strong>
+ <p>Back-references are <code>$</code><strong>N</strong>
(<strong>N</strong>=0..9) identifiers which will be replaced
by the contents of the <strong>N</strong>th group of the
matched <em>Pattern</em>. The server-variables are the same
directive. The mapping-functions come from the
<code>RewriteMap</code> directive and are explained there.
These three types of variables are expanded in the order of
- the above list.
+ the above list. </p>
<p>As already mentioned above, all the rewriting rules are
applied to the <em>Substitution</em> (in the order of
<blockquote>
<strong><code>[</code><em>flags</em><code>]</code></strong>
</blockquote>
+ <p>
as the third argument to the <code>RewriteRule</code>
directive. <em>Flags</em> is a comma-separated list of the
- following flags:
+ following flags: </p>
<ul>
<li>
<code>/</code> <em>Language</em> <code>/~</code>
<em>Realname</em> <code>/.../</code> <em>File</em>
</blockquote>
- into
+
+ <p>into </p>
<blockquote>
<code>/u/</code> <em>Username</em> <code>/.../</code>
RewriteMap real-to-user txt:/path/to/file/map.txt
RewriteRule ^/([^/]+)/~([^/]+)/(.*)$ /u/${real-to-user:$2|nobody}/$3.$1
</pre>
-</code></td></tr></table></blockquote>
-
-</usage><hr/><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img alt="Index" src="../images/index.gif"/></a><a href="../"><img alt="Home" src="../images/home.gif"/></a></blockquote></body></html>
\ No newline at end of file
+ </code></td></tr></table></blockquote>
+ </usage><hr/><h3 align="center">Apache HTTP Server Version 2.0</h3><a href="./"><img alt="Index" src="../images/index.gif"/></a><a href="../"><img alt="Home" src="../images/home.gif"/></a></blockquote></body></html>
\ No newline at end of file
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--><title>mod_so - Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img alt="[APACHE DOCUMENTATION]" src="../images/sub.gif"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mod_so</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td><description>
-This module provides for loading of executable code and
-modules into the server at start-up or restart time.</description></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base (Windows>; Optional (Unix)</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>so_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Available in Apache 1.3 and later.</compatibility></td></tr></table></td></tr></table><h2>Summary</h2><summary>
+ This module provides for loading of executable code and
+ modules into the server at start-up or restart time.
+</description></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Base (Windows>; Optional (Unix)</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>so_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Available in Apache 1.3 and later.</compatibility></td></tr></table></td></tr></table><h2>Summary</h2><summary>
<p>On selected operating systems this module can be used to
load modules into Apache at runtime via the <a href="../dso.html">Dynamic Shared Object</a> (DSO) mechanism,
rather than requiring a recompilation.</p>
<p>On Unix, the loaded code typically comes from shared object
- files (usually with <samp>.so</samp> extension), on Windows
- this may either the <samp>.so</samp> or <samp>.dll</samp>
+ files (usually with <code>.so</code> extension), on Windows
+ this may either the <code>.so</code> or <code>.dll</code>
extension. This module is only available in Apache 1.3 and
up.</p>
Windows, mod_dll was used in beta release 1.3b1 through 1.3b5.
mod_so combines these two modules into a single module for all
operating systems.</p>
-
- <p><strong>Warning: Apache 1.3 modules cannot be directly used
+ <blockquote><table><tr><td bgcolor="#ffe5f5"><p align="center"><strong>Warning</strong></p>
+ <p>Apache 1.3 modules cannot be directly used
with Apache 2.0 - the module must be modified to dynamically
- load or compile into Apache 2.0</strong>.</p>
-</summary><h2>Directives</h2><ul><li><a href="#loadfile">LoadFile</a></li><li><a href="#loadmodule">LoadModule</a></li></ul><h2>Creating Loadable Modules
-for Windows</h2>
+ load or compile into Apache 2.0.</p>
+ </td></tr></table></blockquote>
+</summary><h2>Directives</h2><ul><li><a href="#loadfile">LoadFile</a></li><li><a href="#loadmodule">LoadModule</a></li></ul><h2>Creating Loadable Modules for Windows</h2>
- <p><blockquote><table><tr><td bgcolor="#e0e5f5">Note: the module name format changed for Windows
+ <blockquote><table><tr><td bgcolor="#e0e5f5"><p align="center"><strong>Note</strong></p>
+ <p>The module name format changed for Windows
with Apache 1.3.15 and 2.0 - the modules are now named as
- mod_foo.so</td></tr></table></blockquote>. While mod_so still loads modules with
+ mod_foo.so</p>
+ <p>While mod_so still loads modules with
ApacheModuleFoo.dll names, the new naming convention is
preferred; if you are converting your loadable module for 2.0,
- please fix the name to this 2.0 convention.</p>
+ please fix the name to this 2.0 convention.</p></td></tr></table></blockquote>
<p>The Apache module API is unchanged between the Unix and
Windows versions. Many modules will run on Windows with no or
.dsp.</p>
<p>This should create a DLL version of your module. Now simply
- place it in the <samp>modules</samp> directory of your server
+ place it in the <code>modules</code> directory of your server
root, and use the <code class="directive">LoadModule</code>
directive to load it.</p>
This module uses cookies to provide for a
<em>clickstream</em> log of user activity on a site.
</description></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="module-dict.html#ModuleIdentifier" class="help">Module Identifier:</a></td><td>usertrack_module</td></tr><tr><td align="left" valign="top"><a href="module-dict.html#Compatibility" class="help">Compatibility:</a></td><td><compatibility>Known as mod_cookies prior to Apache 1.3.</compatibility></td></tr></table></td></tr></table><h2>Summary</h2><summary>
-
- <h2>Summary</h2>
-
<p>Previous releases of Apache have included a module which
generates a 'clickstream' log of user activity on a site using
cookies. This was called the "cookies" module, mod_cookies. In
<p>Previously, the cookies module (now the user tracking
- module) did its own logging, using the <tt>CookieLog</tt>
+ module) did its own logging, using the <code class="directive">CookieLog</code>
directive. In this release, this module does no logging at all.
Instead, a configurable log format file should be used to log
user click-streams. This is possible because the logging module
now allows multiple log files. The cookie itself is logged by
- using the text <tt>%{cookie}n</tt> in the log file format. For
+ using the text <code>%{cookie}n</code> in the log file format. For
example:</p>
<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
CustomLog logs/clickstream "%{cookie}n %r %t"
</code></td></tr></table></blockquote>
<p>For backward compatibility the configurable log module
- implements the old <tt>CookieLog</tt> directive, but this
- should be upgraded to the above <tt>CustomLog</tt> directive. </p>
+ implements the old <code class="directive">CookieLog</code> directive, but this
+ should be upgraded to the above <code class="directive">CustomLog</code> directive. </p>
<h2>2-digit or 4-digit dates for cookies?</h2>
<p>(the following is from message
<022701bda43d$9d32bbb0$1201a8c0@christian.office.sane.com>
- in the new-httpd archives)
+ in the new-httpd archives) </p>
<pre>
From: "Christian Allen" <christian@sane.com>
Subject: Re: Apache Y2K bug in mod_usertrack.c
9999. Your best bet for sending a long-life cookie is to send it for some
time late in the year "37".
</pre>
-</p>
-<hr/><h2><a name="CookieDomain">CookieDomain</a> <a name="cookiedomain">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>controls the setting of the domain to which
- the tracking cookie applies.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CookieDomain <i>domain</i></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table><usage>
+
+<hr/><h2><a name="CookieDomain">CookieDomain</a> <a name="cookiedomain">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>controls the setting of the domain to which the tracking cookie applies.</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CookieDomain <em>domain</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>None</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table><usage>
<p>This directive controls the setting of the domain to which
the tracking cookie applies. If not present, no domain is
included in the cookie header field.</p>
- <p>The domain string <b>must</b> begin with a dot, and
- <b>must</b> include at least one embedded dot. That is,
+ <p>The domain string <strong>must</strong> begin with a dot, and
+ <strong>must</strong> include at least one embedded dot. That is,
".foo.com" is legal, but "foo.bar.com" and ".com" are not.</p>
</usage><hr/><h2><a name="CookieExpires">CookieExpires</a> <a name="cookieexpires">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td/></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CookieExpires <em>expiry-period</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code/></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Override" class="help">Override:</a></td><td/></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr><tr><td align="left" valign="top"><a href="directive-dict.html#Compatibility" class="help">Compatibility:</a></td><td>In 1.3.20 and earlier, not usable in directory and
.htaccess</td></tr></table></td></tr></table><usage>
<p>You must specify a valid cookie name; results are
unpredictable if you use a name containing unusual characters.
Valid characters include A-Z, a-z, 0-9, "_", and "-".</p>
-</usage><hr/><h2><a name="CookieStyle">CookieStyle</a> <a name="cookiestyle">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls the format of the cookie header
- field</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CookieStyle
- <i>Netscape|Cookie|Cookie2|RFC2109|RFC2965</i></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code/></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table><usage>
+</usage><hr/><h2><a name="CookieStyle">CookieStyle</a> <a name="cookiestyle">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Controls the format of the cookie header field</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CookieStyle
+ <em>Netscape|Cookie|Cookie2|RFC2109|RFC2965</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code/></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config, virtual host, directory, .htaccess</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>Extension</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td>mod_usertrack</td></tr></table></td></tr></table><usage>
<p>This directive controls the format of the cookie header
field. The three formats allowed are:</p>
<ul>
- <li><b>Netscape</b>, which is the original but now deprecated
+ <li><strong>Netscape</strong>, which is the original but now deprecated
syntax. This is the default, and the syntax Apache has
historically used.</li>
- <li><b>Cookie</b> or <b>RFC2109</b>, which is the syntax that
+ <li><strong>Cookie</strong> or <strong>RFC2109</strong>, which is the syntax that
superseded the Netscape syntax.</li>
- <li><b>Cookie2</b> or <b>RFC2965</b>, which is the most
+ <li><strong>Cookie2</strong> or <strong>RFC2965</strong>, which is the most
current cookie syntax.</li>
</ul>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--><title>mpm_common - Apache HTTP Server</title><link href="../style/manual.css" type="text/css" rel="stylesheet"/></head><body><blockquote><div align="center"><img alt="[APACHE DOCUMENTATION]" src="../images/sub.gif"/><h3>Apache HTTP Server Version 2.0</h3></div><h1 align="center">Apache Module mpm_common</h1><table cellspacing="1" cellpadding="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td valign="top"><span class="help">Description:</span></td><td><description>A collection of directives that are implemented by
more than one multi-processing module (MPM)</description></td></tr><tr><td><a href="module-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr></table></td></tr></table><h2>Directives</h2><ul><li><a href="#coredumpdirectory">CoreDumpDirectory</a></li><li><a href="#group">Group</a></li><li><a href="#listen">Listen</a></li><li><a href="#listenbacklog">ListenBackLog</a></li><li><a href="#lockfile">LockFile</a></li><li><a href="#maxclients">MaxClients</a></li><li><a href="#maxrequestsperchild">MaxRequestsPerChild</a></li><li><a href="#maxsparethreads">MaxSpareThreads</a></li><li><a href="#maxthreadsperchild">MaxThreadsPerChild</a></li><li><a href="#minsparethreads">MinSpareThreads</a></li><li><a href="#numservers">NumServers</a></li><li><a href="#pidfile">PidFile</a></li><li><a href="#scoreboardfile">ScoreBoardFile</a></li><li><a href="#sendbuffersize">SendBufferSize</a></li><li><a href="#serverlimit">ServerLimit</a></li><li><a href="#startservers">StartServers</a></li><li><a href="#startthreads">StartThreads</a></li><li><a href="#threadlimit">ThreadLimit</a></li><li><a href="#threadsperchild">ThreadsPerChild</a></li><li><a href="#user">User</a></li></ul><hr/><h2><a name="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory">Directive</a></h2><table cellpadding="1" cellspacing="0" border="0" bgcolor="#cccccc"><tr><td><table bgcolor="#ffffff"><tr><td><strong>Description: </strong></td><td>Sets the directory where Apache attempts to
-switch before dumping core</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CoreDumpDirectory <em>directory</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>CoreDumpDirectory ServerRoot</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table><usage>
+switch before dumping core</td></tr><tr><td><a href="directive-dict.html#Syntax" class="help">Syntax:</a></td><td><syntax>CoreDumpDirectory <em>directory</em></syntax></td></tr><tr><td><a href="directive-dict.html#Default" class="help">Default:</a></td><td><code>See usage for the default setting</code></td></tr><tr><td><a href="directive-dict.html#Context" class="help">Context:</a></td><td>server config</td></tr><tr><td><a href="directive-dict.html#Status" class="help">Status:</a></td><td>MPM</td></tr><tr><td><a href="directive-dict.html#Module" class="help">Module:</a></td><td><code><a href="worker.html">worker</a></code>, <code><a href="perchild.html">perchild</a></code>, <code><a href="prefork.html">prefork</a></code>, <code><a href="mpm_winnt.html">mpm_winnt</a></code></td></tr></table></td></tr></table><usage>
<p>This controls the directory to which Apache attempts to
switch before dumping core. The default is in the
Listen 80<br>
Listen 8000
</code></td></tr></table></blockquote>
- To make the server accept connections on two specified
- interfaces and port numbers, use
+ <p>To make the server accept connections on two specified
+ interfaces and port numbers, use </p>
<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
Listen 192.170.2.1:80<br>
Listen 192.170.2.5:8000
</code></td></tr></table></blockquote>
- IPv6 addresses must be surrounded in square brackets, as in the
- following example:
+ <p>IPv6 addresses must be surrounded in square brackets, as in the
+ following example:</p>
<blockquote><table cellpadding="10"><tr><td bgcolor="#eeeeee"><code>
Listen [fe80::a00:20ff:fea7:ccea]:80
</code></td></tr></table></blockquote>