summaryrefslogtreecommitdiff
path: root/docs/manual/env.html
diff options
context:
space:
mode:
authorRich Bowen <rbowen@apache.org>2001-09-22 18:53:20 +0000
committerRich Bowen <rbowen@apache.org>2001-09-22 18:53:20 +0000
commit1bf05b9838e25403ff49e68c7ce8e26af90b6bd5 (patch)
tree8d0f0997663688543686f0dea197117a28730949 /docs/manual/env.html
parent64670c57ff3c8a851b66d37a4c9d1fe730e57c48 (diff)
downloadhttpd-1bf05b9838e25403ff49e68c7ce8e26af90b6bd5.tar.gz
Ran w3c tidy on these as 'tidy -mi -asxml' to get xhtml. Please verify,
in particular, the non-english files, to make sure I did not screw anything up. They look fine to me. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91112 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/env.html')
-rw-r--r--docs/manual/env.html583
1 files changed, 298 insertions, 285 deletions
diff --git a/docs/manual/env.html b/docs/manual/env.html
index 6e75559385..8224f9768b 100644
--- a/docs/manual/env.html
+++ b/docs/manual/env.html
@@ -1,268 +1,283 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Environment Variables in Apache</TITLE>
-</HEAD>
-
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<BODY
- BGCOLOR="#FFFFFF"
- TEXT="#000000"
- LINK="#0000FF"
- VLINK="#000080"
- ALINK="#FF0000"
->
-<!--#include virtual="header.html" -->
-<h1 align="center">Environment Variables in Apache</h1>
-
-<p>The Apache HTTP Server provides a mechanism for storing information
-in named variables that are called <em>environment variables</em>.
-This information can be used to control various operations such as
-logging or access control. The variables are also used as a mechanism
-to communicate with external programs such as CGI scripts. This
-document discusses different ways to manipulate and use these
-variables.</p>
-
-<p>Although these variables are referred to as <em>environment
-variables</em>, they are not the same as the environment variables
-controlled by the underlying operating system. Instead, these
-variables are stored and manipulated in an internal Apache structure.
-They only become actual operating system environment variables when
-they are provided to CGI scripts and Server Side Include scripts. If
-you wish to manipulate the operating system environment under which
-the server itself runs, you must use the standard environment
-manipulation mechanisms provided by your operating system shell.</p>
-
-<ul>
-<li><a href="#setting">Setting Environment Variables</a></li>
-<li><a href="#using">Using Environment Variables</a></li>
-<li><a href="#special">Special Purpose Environment Variables</a></li>
-<li><a href="#examples">Examples</a></li>
-</ul>
-
-<hr>
-
-<h2><a name="setting">Setting Environment Variables</a></h2>
-
-<table border="1">
-<tr><td valign="top">
-<strong>Related Modules</strong><br><br>
-
-<a href="mod/mod_env.html">mod_env</a><br>
-<a href="mod/mod_rewrite.html">mod_rewrite</a><br>
-<a href="mod/mod_setenvif.html">mod_setenvif</a><br>
-<a href="mod/mod_unique_id.html">mod_unique_id</a><br>
-
-</td><td valign="top">
-<strong>Related Directives</strong><br><br>
-
-<A HREF="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</A><br>
-<A HREF="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</A><br>
-<A HREF="mod/mod_env.html#passenv">PassEnv</A><br>
-<A HREF="mod/mod_rewrite.html#RewriteRule">RewriteRule</A><br>
-<A HREF="mod/mod_env.html#setenv">SetEnv</A><br>
-<A HREF="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</A><br>
-<A HREF="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</A><br>
-<A HREF="mod/mod_env.html#unsetenv">UnsetEnv</A><br>
-</td></tr></table>
-
-<h3>Basic Environment Manipulation</h3>
-
-<p>The most basic way to set an environment variable in Apache is
-using the unconditional <code>SetEnv</code> directive. Variables
-may also be passed from the environment of the shell which started
-the server using the <code>PassEnv</code> directive.</p>
-
-<h3>Conditional Per-Request Settings</h3>
-
-<p>For additional flexibility, the directives provided by mod_setenvif
-allow environment variables to be set on a per-request basis,
-conditional on characteristics of particular requests. For example, a
-variable could be set only when a specific browser (User-Agent) is
-making a request, or only when a specific Referer [sic] header is
-found. Even more flexibility is available through the mod_rewrite's
-<code>RewriteRule</code> which uses the <code>[E=...]</code> option to
-set environment variables.</p>
-
-<h3>Unique Identifiers</h3>
-
-<p>Finally, mod_unique_id sets the environment variable
-<code>UNIQUE_ID</code> for each request to a value which is guaranteed
-to be unique across "all" requests under very specific conditions.</p>
-
-<h3>Standard CGI Variables</h3>
-
-<p>In addition to all environment variables set within the Apache
-configuration and passed from the shell, CGI scripts and SSI pages are
-provided with a set of environment variables containing
-meta-information about the request as required by the
-<a href="http://cgi-spec.golux.com/">CGI specification</a>.</p>
-
-<h3>Some Caveats</h3>
-
-<ul>
-
-<li>It is not possible to override or change the standard CGI
-variables using the environment manipulation directives.</li>
-
-<li>When <a href="suexec.html">suexec</a> is used to launch CGI
-scripts, the environment will be cleaned down to a set of
-<em>safe</em> variables before CGI scripts are launched. The list of
-<em>safe</em> variables is defined at compile-time in
-<code>suexec.c</code>.</li>
-
-<li>For portability reasons, the names of environment variables
-may contain only letters, numbers, and the underscore character.
-In addition, the first character may not be a number. Characters
-which do not match this restriction will be replaced by an
-underscore when passed to CGI scripts and SSI pages.</li>
-
-</ul>
-
-
-<hr>
-
-<h2><a name="using">Using Environment Variables</a></h2>
-
-<table border=1><tr><td valign="top">
-<strong>Related Modules</strong><br><br>
-
-<a href="mod/mod_access.html">mod_access</a><br>
-<a href="mod/mod_cgi.html">mod_cgi</a><br>
-<a href="mod/mod_headers.html">mod_headers</a><br>
-<a href="mod/mod_include.html">mod_include</a><br>
-<a href="mod/mod_log_config.html">mod_log_config</a><br>
-<a href="mod/mod_rewrite.html">mod_rewrite</a><br>
-
-</td><td valign="top">
-<strong>Related Directives</strong><br><br>
-
-<A HREF="mod/mod_access.html#allow">Allow</A><br>
-<a href="mod/mod_log_config.html#customlog">CustomLog</a><br>
-<A HREF="mod/mod_access.html#deny">Deny</A><br>
-<a href="mod/mod_headers.html#Header">Header</a><br>
-<a href="mod/mod_log_config.html#logformat">LogFormat</a><br>
-<A HREF="mod/mod_rewrite.html#RewriteCond">RewriteCond</A><br>
-<A HREF="mod/mod_rewrite.html#RewriteRule">RewriteRule</A><br>
-
-</td></tr></table>
-
-<h3>CGI Scripts</h3>
-
-<p>One of the primary uses of environment variables is to communicate
-information to CGI scripts. As discussed above, the environment
-passed to CGI scripts includes standard meta-information about the request
-in addition to any variables set within the Apache configuration.
-For more details, see the <a href="howto/cgi.html">CGI tutorial</a>.
-</p>
-
-<h3>SSI Pages</h3>
-
-<p>Server-parsed (SSI) documents processed by mod_include's
-<code>INCLUDES</code> filter can print environment variables
-using the <code>echo</code> element, and can use environment variables
-in flow control elements to makes parts of a page conditional on
-characteristics of a request. Apache also provides SSI pages with the
-standard CGI environment variables as discussed above. For more
-details, see the <a href="howto/ssi.html">SSI tutorial</a>.
-</p>
-
-<h3>Access Control</h3>
-
-<p>Access to the server can be controlled based on the value of
-environment variables using the <code>allow from env=</code> and
-<code>deny from env=</code></a> directives. In combination with
-<code>SetEnvIf</code>, this allows for flexible control of access to
-the server based on characteristics of the client. For example, you
-can use these directives to deny access to a particular browser
-(User-Agent).
-</p>
-
-<h3>Conditional Logging</h3>
-
-<p>Environment variables can be logged in the access log using the
-<code>LogFormat</code> option <code>%e</code>. In addition, the
-decision on whether or not to log requests can be made based on the
-status of environment variables using the conditional form of the
-<code>CustomLog</code> directive. In combination with
-<code>SetEnvIf</code> this allows for flexible control of which
-requests are logged. For example, you can choose not to log requests
-for filenames ending in <code>gif</code>, or you can choose to only
-log requests from clients which are outside your subnet.
-</p>
-
-<h3>Conditional Response Headers</h3>
-
-<p>The <code>Header</code> directive can use the presence or absence
-of an environment variable to determine whether or not a certain
-HTTP header will be placed in the response to the client.
-This allows, for example, a certain response header to be sent
-only if a corresponding header is received in the request from
-the client.</p>
-
-<h3>URL Rewriting</h3>
-
-<p>The <code>%{ENV:...}</code> form of <em>TestString</em> in the
-<code>RewriteCond</code> allows mod_rewrite's rewrite engine to make
-decisions conditional on environment variables. Note that the
-variables accessible in mod_rewrite without the <code>ENV:</code>
-prefix are not actually environment variables. Rather, they
-are variables special to mod_rewrite which cannot be accessed from
-other modules.</p>
-
-<hr>
-
-<H2><a name="special">Special Purpose Environment Variables</a></H2>
-<P>
-Interoperability problems have led to the introduction of
-mechanisms to modify the way Apache behaves when talking to particular
-clients. To make these mechanisms as flexible as possible, they
-are invoked by defining environment variables, typically with
-<A HREF="mod/mod_setenvif.html#browsermatch">BrowserMatch</A>, though
-<A HREF="mod/mod_env.html#setenv">SetEnv</A> and
-<A HREF="mod/mod_env.html#passenv">PassEnv</A> could also be used, for
-example.
-</P>
-
-<H2>downgrade-1.0</H2>
-<P>
-This forces the request to be treated as a HTTP/1.0 request even if it
-was in a later dialect.
-</P>
-
-<H2>force-no-vary</H2>
-<P>
-This causes any <CODE>Vary</CODE> fields to be removed from the response
-header before it is sent back to the client. Some clients don't
-interpret this field correctly (see the
-<A HREF="misc/known_client_problems.html">known client problems</A>
-page); setting this variable can work around this problem. Setting
-this variable also implies <STRONG>force-response-1.0</STRONG>.
-</P>
-
-<H2>force-response-1.0</H2>
-<P>
-This forces an HTTP/1.0 response when set. It was originally implemented as a
-result of a problem with AOL's proxies. Some clients may not behave correctly
-when given an HTTP/1.1 response, and this can be used to interoperate with
-them.
-</P>
-
-<H2>nokeepalive</H2>
-<P>
-This disables <A HREF="mod/core.html#keepalive">KeepAlive</A> when set.
-</P>
-
-
-<hr>
-
-<h2><a name="examples">Examples</a></h2>
-
-<h3>Changing protocol behavior with misbehaving clients</h3>
-
-<p>We recommend that the following lines be included in httpd.conf
-to deal with known client problems.</p>
-
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Environment Variables in Apache</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="center">Environment Variables in Apache</h1>
+
+ <p>The Apache HTTP Server provides a mechanism for storing
+ information in named variables that are called <em>environment
+ variables</em>. This information can be used to control various
+ operations such as logging or access control. The variables are
+ also used as a mechanism to communicate with external programs
+ such as CGI scripts. This document discusses different ways to
+ manipulate and use these variables.</p>
+
+ <p>Although these variables are referred to as <em>environment
+ variables</em>, they are not the same as the environment
+ variables controlled by the underlying operating system.
+ Instead, these variables are stored and manipulated in an
+ internal Apache structure. They only become actual operating
+ system environment variables when they are provided to CGI
+ scripts and Server Side Include scripts. If you wish to
+ manipulate the operating system environment under which the
+ server itself runs, you must use the standard environment
+ manipulation mechanisms provided by your operating system
+ shell.</p>
+
+ <ul>
+ <li><a href="#setting">Setting Environment Variables</a></li>
+
+ <li><a href="#using">Using Environment Variables</a></li>
+
+ <li><a href="#special">Special Purpose Environment
+ Variables</a></li>
+
+ <li><a href="#examples">Examples</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="setting" name="setting">Setting Environment
+ Variables</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_env.html">mod_env</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+ <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</a><br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br />
+ <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a><br />
+ <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>Basic Environment Manipulation</h3>
+
+ <p>The most basic way to set an environment variable in Apache
+ is using the unconditional <code>SetEnv</code> directive.
+ Variables may also be passed from the environment of the shell
+ which started the server using the <code>PassEnv</code>
+ directive.</p>
+
+ <h3>Conditional Per-Request Settings</h3>
+
+ <p>For additional flexibility, the directives provided by
+ mod_setenvif allow environment variables to be set on a
+ per-request basis, conditional on characteristics of particular
+ requests. For example, a variable could be set only when a
+ specific browser (User-Agent) is making a request, or only when
+ a specific Referer [sic] header is found. Even more flexibility
+ is available through the mod_rewrite's <code>RewriteRule</code>
+ which uses the <code>[E=...]</code> option to set environment
+ variables.</p>
+
+ <h3>Unique Identifiers</h3>
+
+ <p>Finally, mod_unique_id sets the environment variable
+ <code>UNIQUE_ID</code> for each request to a value which is
+ guaranteed to be unique across "all" requests under very
+ specific conditions.</p>
+
+ <h3>Standard CGI Variables</h3>
+
+ <p>In addition to all environment variables set within the
+ Apache configuration and passed from the shell, CGI scripts and
+ SSI pages are provided with a set of environment variables
+ containing meta-information about the request as required by
+ the <a href="http://cgi-spec.golux.com/">CGI
+ specification</a>.</p>
+
+ <h3>Some Caveats</h3>
+
+ <ul>
+ <li>It is not possible to override or change the standard CGI
+ variables using the environment manipulation directives.</li>
+
+ <li>When <a href="suexec.html">suexec</a> is used to launch
+ CGI scripts, the environment will be cleaned down to a set of
+ <em>safe</em> variables before CGI scripts are launched. The
+ list of <em>safe</em> variables is defined at compile-time in
+ <code>suexec.c</code>.</li>
+
+ <li>For portability reasons, the names of environment
+ variables may contain only letters, numbers, and the
+ underscore character. In addition, the first character may
+ not be a number. Characters which do not match this
+ restriction will be replaced by an underscore when passed to
+ CGI scripts and SSI pages.</li>
+ </ul>
+ <hr />
+
+ <h2><a id="using" name="using">Using Environment
+ Variables</a></h2>
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>Related Modules</strong><br />
+ <br />
+ <a href="mod/mod_access.html">mod_access</a><br />
+ <a href="mod/mod_cgi.html">mod_cgi</a><br />
+ <a href="mod/mod_headers.html">mod_headers</a><br />
+ <a href="mod/mod_include.html">mod_include</a><br />
+ <a href="mod/mod_log_config.html">mod_log_config</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ </td>
+
+ <td valign="top"><strong>Related Directives</strong><br />
+ <br />
+ <a href="mod/mod_access.html#allow">Allow</a><br />
+ <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+ <a href="mod/mod_access.html#deny">Deny</a><br />
+ <a href="mod/mod_headers.html#Header">Header</a><br />
+ <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>CGI Scripts</h3>
+
+ <p>One of the primary uses of environment variables is to
+ communicate information to CGI scripts. As discussed above, the
+ environment passed to CGI scripts includes standard
+ meta-information about the request in addition to any variables
+ set within the Apache configuration. For more details, see the
+ <a href="howto/cgi.html">CGI tutorial</a>.</p>
+
+ <h3>SSI Pages</h3>
+
+ <p>Server-parsed (SSI) documents processed by mod_include's
+ <code>INCLUDES</code> filter can print environment variables
+ using the <code>echo</code> element, and can use environment
+ variables in flow control elements to makes parts of a page
+ conditional on characteristics of a request. Apache also
+ provides SSI pages with the standard CGI environment variables
+ as discussed above. For more details, see the <a
+ href="howto/ssi.html">SSI tutorial</a>.</p>
+
+ <h3>Access Control</h3>
+
+ <p>Access to the server can be controlled based on the value of
+ environment variables using the <code>allow from env=</code>
+ and <code>deny from env=</code> directives. In combination with
+ <code>SetEnvIf</code>, this allows for flexible control of
+ access to the server based on characteristics of the client.
+ For example, you can use these directives to deny access to a
+ particular browser (User-Agent).</p>
+
+ <h3>Conditional Logging</h3>
+
+ <p>Environment variables can be logged in the access log using
+ the <code>LogFormat</code> option <code>%e</code>. In addition,
+ the decision on whether or not to log requests can be made
+ based on the status of environment variables using the
+ conditional form of the <code>CustomLog</code> directive. In
+ combination with <code>SetEnvIf</code> this allows for flexible
+ control of which requests are logged. For example, you can
+ choose not to log requests for filenames ending in
+ <code>gif</code>, or you can choose to only log requests from
+ clients which are outside your subnet.</p>
+
+ <h3>Conditional Response Headers</h3>
+
+ <p>The <code>Header</code> directive can use the presence or
+ absence of an environment variable to determine whether or not
+ a certain HTTP header will be placed in the response to the
+ client. This allows, for example, a certain response header to
+ be sent only if a corresponding header is received in the
+ request from the client.</p>
+
+ <h3>URL Rewriting</h3>
+
+ <p>The <code>%{ENV:...}</code> form of <em>TestString</em> in
+ the <code>RewriteCond</code> allows mod_rewrite's rewrite
+ engine to make decisions conditional on environment variables.
+ Note that the variables accessible in mod_rewrite without the
+ <code>ENV:</code> prefix are not actually environment
+ variables. Rather, they are variables special to mod_rewrite
+ which cannot be accessed from other modules.</p>
+ <hr />
+
+ <h2><a id="special" name="special">Special Purpose Environment
+ Variables</a></h2>
+
+ <p>Interoperability problems have led to the introduction of
+ mechanisms to modify the way Apache behaves when talking to
+ particular clients. To make these mechanisms as flexible as
+ possible, they are invoked by defining environment variables,
+ typically with <a
+ href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a>,
+ though <a href="mod/mod_env.html#setenv">SetEnv</a> and <a
+ href="mod/mod_env.html#passenv">PassEnv</a> could also be used,
+ for example.</p>
+
+ <h2>downgrade-1.0</h2>
+
+ <p>This forces the request to be treated as a HTTP/1.0 request
+ even if it was in a later dialect.</p>
+
+ <h2>force-no-vary</h2>
+
+ <p>This causes any <code>Vary</code> fields to be removed from
+ the response header before it is sent back to the client. Some
+ clients don't interpret this field correctly (see the <a
+ href="misc/known_client_problems.html">known client
+ problems</a> page); setting this variable can work around this
+ problem. Setting this variable also implies
+ <strong>force-response-1.0</strong>.</p>
+
+ <h2>force-response-1.0</h2>
+
+ <p>This forces an HTTP/1.0 response when set. It was originally
+ implemented as a result of a problem with AOL's proxies. Some
+ clients may not behave correctly when given an HTTP/1.1
+ response, and this can be used to interoperate with them.</p>
+
+ <h2>nokeepalive</h2>
+
+ <p>This disables <a
+ href="mod/core.html#keepalive">KeepAlive</a> when set.</p>
+ <hr />
+
+ <h2><a id="examples" name="examples">Examples</a></h2>
+
+ <h3>Changing protocol behavior with misbehaving clients</h3>
+
+ <p>We recommend that the following lines be included in
+ httpd.conf to deal with known client problems.</p>
<pre>
#
# The following directives modify normal HTTP response behavior.
@@ -285,13 +300,12 @@ BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
</pre>
-<h3>Do not log requests for images in the access log</h3>
-
-<p>This example keeps requests for images from appearing
-in the access log. It can be easily modified to prevent logging
-of particular directories, or to prevent logging of requests
-coming from particular hosts.</p>
+ <h3>Do not log requests for images in the access log</h3>
+ <p>This example keeps requests for images from appearing in the
+ access log. It can be easily modified to prevent logging of
+ particular directories, or to prevent logging of requests
+ coming from particular hosts.</p>
<pre>
SetEnvIf Request_URI \.gif image-request
SetEnvIf Request_URI \.jpg image-request
@@ -299,14 +313,13 @@ coming from particular hosts.</p>
CustomLog logs/access_log env=!image-request
</pre>
-<h3>Prevent &quot;Image Theft&quot;</h3>
-
-<p>This example shows how to keep people not on your server from using
-images on your server as inline-images on their pages. This is not
-a recommended configuration, but it can work in limited
-circumstances. We assume that all your images are in a directory
-called /web/images.</p>
+ <h3>Prevent "Image Theft"</h3>
+ <p>This example shows how to keep people not on your server
+ from using images on your server as inline-images on their
+ pages. This is not a recommended configuration, but it can work
+ in limited circumstances. We assume that all your images are in
+ a directory called /web/images.</p>
<pre>
SetEnvIf Referer "^http://www.example.com/" local_referal
# Allow browsers that do not send Referer info
@@ -318,11 +331,11 @@ called /web/images.</p>
&lt;/Directory&gt;
</pre>
-<p>For more information about this technique, see the ApacheToday
-tutorial &quot;<a
-href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">Keeping
-Your Images from Adorning Other Sites</a>&quot;.</p>
+ <p>For more information about this technique, see the
+ ApacheToday tutorial " <a
+ href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">
+ Keeping Your Images from Adorning Other Sites</a>".</p>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>
-<!--#include virtual="footer.html" -->
-</BODY>
-</HTML>