]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_proxy_html.html.en
Documentation rebuild after recent commits
[apache] / docs / manual / mod / mod_proxy_html.html.en
index 96262f0de5635790072f8f19dc075f076e0f0942..d67e954a12c4ec19f94a114b6b48c4e7f7713191 100644 (file)
@@ -1,23 +1,28 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               This file is generated from xml source: DO NOT EDIT
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       -->
-<title>mod_proxy_html - Apache HTTP Server</title>
+<title>mod_proxy_html - Apache HTTP Server Version 2.5</title>
 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
-<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.min.js" type="text/javascript">
+</script>
+
 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
 <body>
 <div id="page-header">
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
-<p class="apache">Apache HTTP Server Version 2.3</p>
-<img alt="" src="../images/feather.gif" /></div>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.5</p>
+<img alt="" src="../images/feather.png" /></div>
 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
 <div id="path">
-<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Modules</a></div>
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
 <div id="page-content">
 <div id="preamble"><h1>Apache Module mod_proxy_html</h1>
 <div class="toplang">
@@ -32,9 +37,21 @@ from Clients' networks in a proxy context.</td></tr>
 for earlier 2.x versions</td></tr></table>
 <h3>Summary</h3>
 
-    <p>This module provides an output filter to rewrite HTML links in a proxy situation, to ensure that links work for users outside the proxy. It serves the same purpose as Apache's ProxyPassReverse directive does for HTTP headers, and is an essential component of a reverse proxy.</p>
+<p>This module provides an output filter to rewrite HTML links in a
+proxy situation, to ensure that links work for users outside the proxy.
+It serves the same purpose as Apache's ProxyPassReverse directive does
+for HTTP headers, and is an essential component of a reverse proxy.</p>
 
-<p>For example, if a company has an application server at appserver.example.com that is only visible from within the company's internal network, and a public webserver <code>www.example.com</code>, they may wish to provide a gateway to the application server at <code>http://www.example.com/appserver/</code>. When the application server links to itself, those links need to be rewritten to work through the gateway. mod_proxy_html serves to rewrite <code>&lt;a href="http://appserver.example.com/foo/bar.html"&gt;foobar&lt;/a&gt;</code> to <code>&lt;a href="http://www.example.com/appserver/foo/bar.html"&gt;foobar&lt;/a&gt;</code> making it accessible from outside.</p>
+<p>For example, if a company has an application server at
+<code>appserver.example.com</code> that is only visible from within
+the company's internal network, and a public webserver
+<code>www.example.com</code>, they may wish to provide a gateway to the
+application server at <code>http://www.example.com/appserver/</code>.
+When the application server links to itself, those links need to be
+rewritten to work through the gateway. mod_proxy_html serves to rewrite
+<code>&lt;a href="http://appserver.example.com/foo/bar.html"&gt;foobar&lt;/a&gt;</code> to
+<code>&lt;a href="http://www.example.com/appserver/foo/bar.html"&gt;foobar&lt;/a&gt;</code>
+making it accessible from outside.</p>
 
 <p>mod_proxy_html was originally developed at WebÞing, whose
 extensive <a href="http://apache.webthing.com/mod_proxy_html/">documentation</a> may be useful to users.</p>
@@ -50,11 +67,13 @@ extensive <a href="http://apache.webthing.com/mod_proxy_html/">documentation</a>
 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlfixups">ProxyHTMLFixups</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlinterp">ProxyHTMLInterp</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmllinks">ProxyHTMLLinks</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmllogverbose">ProxyHTMLLogVerbose</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlmeta">ProxyHTMLMeta</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlstripcomments">ProxyHTMLStripComments</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhtmlurlmap">ProxyHTMLURLMap</a></li>
 </ul>
-</div>
+<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy_html">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy_html">Report a bug</a></li></ul><h3>See also</h3>
+<ul class="seealso">
+<li><a href="#comments_section">Comments</a></li></ul></div>
 
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="directive-section"><h2><a name="ProxyHTMLBufSize" id="ProxyHTMLBufSize">ProxyHTMLBufSize</a> <a name="proxyhtmlbufsize" id="proxyhtmlbufsize">Directive</a></h2>
@@ -68,12 +87,13 @@ stylesheets.</td></tr>
 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party
 for earlier 2.x versions</td></tr>
 </table>
-<p>In order to parse non-HTML content (stylesheets and scripts), mod_proxy_html
+<p>In order to parse non-HTML content (stylesheets and scripts) embedded
+in HTML documents, mod_proxy_html
 has to read the entire script or stylesheet into a buffer.  This buffer will
 be expanded as necessary to hold the largest script or stylesheet in a page,
-in increments of [nnnn] as set by this directive.</p>
+in increments of <var>bytes</var> as set by this directive.</p>
 <p>The default is 8192, and will work well for almost all pages.  However,
-if you know you're proxying a lot of pages containing stylesheets and/or
+if you know you're proxying pages containing stylesheets and/or
 scripts bigger than 8K (that is, for a single script or stylesheet,
 NOT in total), it will be more efficient to set a larger buffer
 size and avoid the need to resize the buffer dynamically during a request.
@@ -104,7 +124,10 @@ will generate output using the same encoding as the input.</p>
 <table class="directive">
 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets an HTML or XHTML document type declaration.</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLDocType <var>HTML|XHTML [Legacy]</var><br /><strong>OR</strong>
-<br />ProxyHTMLDocType <var>fpi [SGML|XML]</var></code></td></tr>
+<br />ProxyHTMLDocType <var>fpi [SGML|XML]</var><br /><strong>OR</strong>
+<br />ProxyHTMLDocType <var>html5</var><br /><strong>OR</strong>
+<br />ProxyHTMLDocType <var>auto</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr>
@@ -121,13 +144,13 @@ be necessary if you are proxying pre-1998 content or working with defective
 authoring/publishing tools.</p>
 <p>In the second form, it will insert your own FPI.  The optional second
 argument determines whether SGML/HTML or XML/XHTML syntax will be used.</p>
-<p>The default is changed to omitting any FPI,
-on the grounds that no FPI is better than a bogus one.  If your backend
-generates decent HTML or XHTML, set it accordingly.</p>
+<p>The third form declares documents as HTML 5.</p>
+<p>The fourth form is new in HTTPD trunk and not yet available in released
+versions, and uses libxml2's HTML parser to detect the doctype.</p>
 <p>If the first form is used, mod_proxy_html
 will also clean up the HTML to the specified standard.  It cannot
 fix every error, but it will strip out bogus elements and attributes.
-It will also optionally log other errors at <code class="directive"><a href="../mod/mod_log_config.html#loglevel">LogLevel</a></code> Debug.</p>
+It will also optionally log other errors at <code class="directive"><a href="../mod/core.html#loglevel">LogLevel</a></code> Debug.</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -135,6 +158,7 @@ It will also optionally log other errors at <code class="directive"><a href="../
 <table class="directive">
 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Turns the proxy_html filter on or off.</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLEnable <var>On|Off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLEnable Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr>
@@ -162,11 +186,14 @@ module for earlier 2.x versions.</td></tr>
 for earlier 2.x versions</td></tr>
 </table>
 <p>Specifies one or more attributes to treat as scripting events and
-apply <code class="directive">ProxyHTMLURLMap</code>s to where appropriate.
+apply <code class="directive">ProxyHTMLURLMap</code>s to where enabled.
 You can specify any number of attributes in one or more
 <code>ProxyHTMLEvents</code> directives.</p>
-<p>The default configuration defines the events in standard HTML 4
-and XHTML 1.</p>
+<p>Normally you'll set this globally.  If you set ProxyHTMLEvents in more than
+one scope so that one overrides the other, you'll need to specify a complete
+set in each of those scopes.</p>
+<p>A default configuration is supplied in <var>proxy-html.conf</var>
+and defines the events in standard HTML 4 and XHTML 1.</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -175,19 +202,27 @@ and XHTML 1.</p>
 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether to fix links in inline scripts, stylesheets,
 and scripting events.</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLExtended <var>On|Off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLExtended Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr>
 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party
 for earlier 2.x versions</td></tr>
 </table>
-<p>Set to <code>Off</code>, HTML links are rewritten according
+<p>Set to <code>Off</code>, HTML links are rewritten according to the
 <code class="directive">ProxyHTMLURLMap</code> directives, but links appearing
 in Javascript and CSS are ignored.</p>
-<p>Set to <code>On</code>, all scripting events and embedded scripts or
+<p>Set to <code>On</code>, all scripting events (as determined by
+<code class="directive">ProxyHTMLEvents</code>) and embedded scripts or
 stylesheets are also processed by the <code class="directive">ProxyHTMLURLMap</code>
 rules, according to the flags set for each rule.  Since this requires more
-parsing, performance will be best if you only enable it when strictly necessary.</p>
+parsing, performance will be best if you only enable it when strictly necessary.
+</p><p>
+You'll also need to take care over patterns matched, since the parser has no
+knowledge of what is a URL within an embedded script or stylesheet.
+In particular, extended matching of <code>/</code> is likely to lead to
+false matches.
+</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -209,7 +244,7 @@ for earlier 2.x versions</td></tr>
 </ul>
 <p>Take care when using these.  The fixes will correct certain authoring
 mistakes, but risk also erroneously fixing links that were correct to start with.
-Only use them if you know you have a broken backend server.</p> 
+Only use them if you know you have a broken backend server.</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -218,6 +253,7 @@ Only use them if you know you have a broken backend server.</p>
 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables per-request interpolation of
 <code class="directive">ProxyHTMLURLMap</code> rules.</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLInterp <var>On|Off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLInterp Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr>
@@ -246,26 +282,47 @@ for earlier 2.x versions</td></tr>
 <p>Specifies elements that have URL attributes that should be rewritten
 using standard <code class="directive">ProxyHTMLURLMap</code>s.  You will need one
 ProxyHTMLLinks directive per element, but it can have any number of attributes.</p>
-<p>The default configuration defines the HTML links for standard HTML 4
-and XHTML 1.</p>
+<p>Normally you'll set this globally.  If you set ProxyHTMLLinks in more than
+one scope so that one overrides the other, you'll need to specify a complete
+set in each of those scopes.</p>
+<p>A default configuration is supplied in <var>proxy-html.conf</var>
+and defines the HTML links for standard HTML 4 and XHTML 1.</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxyHTMLLogVerbose" id="ProxyHTMLLogVerbose">ProxyHTMLLogVerbose</a> <a name="proxyhtmllogverbose" id="proxyhtmllogverbose">Directive</a></h2>
+<div class="directive-section"><h2><a name="ProxyHTMLMeta" id="ProxyHTMLMeta">ProxyHTMLMeta</a> <a name="proxyhtmlmeta" id="proxyhtmlmeta">Directive</a></h2>
 <table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables extra verbose logging for debug</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLLogVerbose <var>On|Off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Turns on or off extra pre-parsing of metadata in HTML
+<code>&lt;head&gt;</code> sections.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLMeta <var>On|Off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLMeta Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr>
 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Version 2.4 and later; available as a third-party
-for earlier 2.x versions</td></tr>
+module for earlier 2.x versions.</td></tr>
 </table>
-<p>If On, mod_proxy_html will log extra diagnostic information (at
-<code class="directive"><a href="../mod/mod_log_config.html#loglevel">LogLevel</a></code> Info)
-including charset detection and processing and
-<code class="directive">ProxyHTMLURLMap</code> matches and rewrites.
-This may be helpful in debugging a configuration.</p>
+    <p>This turns on or off pre-parsing of metadata in HTML
+    <code>&lt;head&gt;</code> sections.</p>
+    <p>If not required, turning ProxyHTMLMeta Off will give a small
+    performance boost by skipping this parse step.  However, it
+    is sometimes necessary for internationalisation to work correctly.</p>
+    <p>ProxyHTMLMeta has two effects.  Firstly and most importantly
+    it enables detection of character encodings declared in the form</p>
+    <pre>&lt;meta http-equiv="Content-Type" content="text/html;charset=<var>foo</var>"&gt;</pre>
+    <p>or, in the case of an XHTML document, an XML declaration.
+    It is NOT required if the charset is declared in a real HTTP header
+    (which is always preferable) from the backend server, nor if the
+    document is <var>utf-8</var> (unicode) or a subset such as ASCII.
+    You may also be able to dispense with it where documents use a
+    default declared using <code class="directive"><a href="../mod/mod_xml2enc.html#xml2encdefault">xml2EncDefault</a></code>, but that risks propagating an
+    incorrect declaration.  A <code class="directive">ProxyHTMLCharsetOut</code>
+    can remove that risk, but is likely to be a bigger processing
+    overhead than enabling ProxyHTMLMeta.</p>
+    <p>The other effect of enabling ProxyHTMLMeta is to parse all
+    <code>&lt;meta http-equiv=...&gt;</code> declarations and convert
+    them to real HTTP headers, in keeping with the original purpose
+    of this form of the HTML &lt;meta&gt; element.</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -273,6 +330,7 @@ This may be helpful in debugging a configuration.</p>
 <table class="directive">
 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Determines whether to strip HTML comments.</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyHTMLStripComments <var>On|Off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyHTMLStripComments Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Base</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_html</td></tr>
@@ -302,7 +360,8 @@ module for earlier 2.x versions.</td></tr>
 <p>This is the key directive for rewriting HTML links.  When parsing a document,
 whenever a link target matches <var>from-pattern</var>, the matching
 portion will be rewritten to <var>to-pattern</var>, as modified by any
-flags supplied.</p>
+flags supplied and by the <code class="directive">ProxyHTMLExtended</code>
+directive.</p>
 
 <p>The optional third argument may define any of the following
 <strong>Flags</strong>.  Flags are case-sensitive.</p>
@@ -364,12 +423,40 @@ Patterns supported are as above.</p>
 </dd>
 </dl>
 
+<p>The optional fourth <strong>cond</strong> argument defines a condition
+that will be evaluated per Request, provided
+<code class="directive">ProxyHTMLInterp</code> is <var>On</var>.
+If the condition evaluates FALSE the map will not be applied in this request.
+If TRUE, or if no condition is defined, the map is applied.</p>
+<p>A <strong>cond</strong> is evaluated by the <a href="../expr.html">Expression Parser</a>.  In addition, the simpler syntax of conditions
+in mod_proxy_html 3.x for HTTPD 2.0 and 2.2 is also supported.</p>
 
 </div>
 </div>
 <div class="bottomlang">
 <p><span>Available Languages: </span><a href="../en/mod/mod_proxy_html.html" title="English">&nbsp;en&nbsp;</a></p>
-</div><div id="footer">
-<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
-<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_proxy_html.html';
+(function(w, d) {
+    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+        d.write('<div id="comments_thread"><\/div>');
+        var s = d.createElement('script');
+        s.type = 'text/javascript';
+        s.async = true;
+        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+    }
+    else {
+        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+    }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2016 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+    prettyPrint();
+}
+//--><!]]></script>
 </body></html>
\ No newline at end of file