<description>Turns on or off extra pre-parsing of metadata in HTML
<code><head></code> sections.</description>
<syntax>ProxyHTMLMeta <var>On|Off</var></syntax>
+<default>ProxyHTMLMeta <var>Off</var></default>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
</contextlist>
<name>ProxyHTMLEnable</name>
<description>Turns the proxy_html filter on or off.</description>
<syntax>ProxyHTMLEnable <var>On|Off</var></syntax>
+<default>ProxyHTMLEnable <var>Off</var></default>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
</contextlist>
<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 <directive>ProxyHTMLExtended</directive>
+directive.</p>
<p>The optional third argument may define any of the following
<strong>Flags</strong>. Flags are case-sensitive.</p>
<description>Enables per-request interpolation of
<directive>ProxyHTMLURLMap</directive> rules.</description>
<syntax>ProxyHTMLInterp <var>On|Off</var></syntax>
+<default>ProxyHTMLInterp <var>Off</var></default>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
</contextlist>
<description>Determines whether to fix links in inline scripts, stylesheets,
and scripting events.</description>
<syntax>ProxyHTMLExtended <var>On|Off</var></syntax>
+<default>ProxyHTMLExtended <var>Off</var></default>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
</contextlist>
<compatibility>Version 2.4 and later; available as a third-party
for earlier 2.x versions</compatibility>
<usage>
-<p>Set to <code>Off</code>, HTML links are rewritten according
+<p>Set to <code>Off</code>, HTML links are rewritten according to the
<directive>ProxyHTMLURLMap</directive> 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
+<directive>ProxyHTMLEvents</directive>) and embedded scripts or
stylesheets are also processed by the <directive>ProxyHTMLURLMap</directive>
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>
</usage>
</directivesynopsis>
<name>ProxyHTMLStripComments</name>
<description>Determines whether to strip HTML comments.</description>
<syntax>ProxyHTMLStripComments <var>On|Off</var></syntax>
+<default>ProxyHTMLStripComments <var>Off</var></default>
<contextlist><context>server config</context>
<context>virtual host</context><context>directory</context>
</contextlist>
<compatibility>Version 2.4 and later; available as a third-party
for earlier 2.x versions</compatibility>
<usage>
-<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.
for earlier 2.x versions</compatibility>
<usage>
<p>Specifies one or more attributes to treat as scripting events and
-apply <directive>ProxyHTMLURLMap</directive>s to where appropriate.
+apply <directive>ProxyHTMLURLMap</directive>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>
</usage>
</directivesynopsis>
<p>Specifies elements that have URL attributes that should be rewritten
using standard <directive>ProxyHTMLURLMap</directive>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>
</usage>
</directivesynopsis>