X-Git-Url: http://git.home-dn.net/?p=manu%2Fmod-proxy-html.git;a=blobdiff_plain;f=config.html;h=f2fcacd84437fcf6e081a351378d8dea89f6f0f4;hp=7b062dc3c3a1512810da76a1c068686936468f20;hb=f21c8b17c9159f17d9aa40455e15cb4561f64962;hpb=e2a89f3329582da3ca7b270db0f99c6fc20b2155;ds=sidebyside diff --git a/config.html b/config.html index 7b062dc..f2fcacd 100644 --- a/config.html +++ b/config.html @@ -8,7 +8,8 @@
mod_proxy_html Version 2.4 (Sept 2004) and upwards
+mod_proxy_html Version 2.4 (Sept 2004) and upwards. +Updates in Version 3 (Dec. 2006) are highlighted.
The following can be used anywhere in an httpd.conf or included configuration file.
@@ -16,7 +17,7 @@ or included configuration file.Syntax:
-ProxyHTMLURLMap from-pattern to-pattern flags
ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]
This is the key directive for rewriting HTML links. When parsing a document, whenever a link target matches from-pattern, the matching portion will be rewritten to to-pattern.
@@ -24,6 +25,13 @@ portion will be rewritten to to-pattern. and substitutions, including regular expression search and replace, controlled by the optional thirdflags
argument.
+Starting at version 3.0, this also supports environment variable
+interpolation using the V and v flags, and rules may apply conditionally
+based on an environment variable. Note that interpolation takes place
+before the parse starts, so variables set during the parse (e.g.
+using SSI directives) will not apply. This flexible configuration
+is enabled by the ProxyHTMLInterp
directive, or can
+be disabled for speed.
Flags are case-sensitive.
flags
argument.
Last-match. If this rule matches, no more rules are applied (note that this happens automatically for HTML links).
Use Regular Expression matching-and-replace. from-pattern
is a regexp, and to-pattern
a replacement string that may be
@@ -61,8 +72,35 @@ versions 1.x. Logic is starts-with in HTML links, but
Match at end only. This applies only to string matching (not regexps) and is irrelevant to HTML links.
Interpolate environment variables in to-pattern
.
+A string of the form ${varname|default}
will be replaced by the
+value of environment variable varname
. If that is unset, it
+is replaced by default
. The |default
is optional.
NOTE: interpolation will only be enabled if ProxyHTMLInterp is On.
+Interpolate environment variables in from-pattern
.
+Patterns supported are as above.
NOTE: interpolation will only be enabled if ProxyHTMLInterp is On.
+The optional cond
argument specifies a condition to
+test before the parse. If a condition is unsatisfied, the URLMap
+will be ignored in this parse.
The condition takes the form [!]var[=val]
, and is
+satisfied if the value of environment variable var
+is val
. If the optional =val
is omitted,
+then any value of var
satisfies the condition, provided
+only it is set to something. If the first character is !
,
+the condition is reversed.
NOTE: conditions will only be applied if ProxyHTMLInterp is On.
+Syntax: ProxyHTMLInterp On|Off
Enables new (per-request) features of ProxyHTMLURLMap.
Starting at version 2.0, 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.
+From version 3, 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 LogLevel Debug.
Syntax ProxyHTMLMeta [On|Off]
Parses <meta http-equiv ...>
elements to real HTTP
headers.
In version 3, this is also tied in with the improved +internationalisation support, and is +required to support some character encodings.
Syntax ProxyHTMLExtended [On|Off]
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 -scripts bigger than 8K, it will be more efficient to set a larger buffer +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.
Syntax ProxyHTMLEvents attr [attr ...]
Specifies one or more attributes to treat as scripting events and
+apply URLMaps to where appropriate. You can specify any number of
+attributes in one or more ProxyHTMLEvents
directives.
+The sample configuration
+defines the events in standard HTML 4 and XHTML 1.
Syntax ProxyHTMLLinks elt attr [attr ...]
Specifies elements that have URL attributes that should be rewritten
+using standard URLMaps as in versions 1 and 2 of mod_proxy_html.
+You will need one ProxyHTMLLinks
directive per element,
+but it can have any number of attributes. The sample configuration
+defines the HTML links for standard HTML 4 and XHTML 1.
Syntax ProxyHTMLCharsetAlias charset alias [alias ...]
This server-wide directive aliases one or more charset to another +charset. This enables encodings not recognised by libxml2 to be handled +internally by libxml2's charset support using the translation table for +a recognised charset.
+For example, Latin 1 (ISO-8859-1) is supported by libxml2.
+Microsoft's Windows-1252 is almost identical and can be supported
+by aliasing it:
+ProxyHTMLCharsetAlias ISO-8859-1 Windows-1252
Syntax ProxyHTMLCharsetDefault name
This defines the default encoding to assume when absolutely no charset
+information is available from the backend server. The default value for
+this is ISO-8859-1
, as specified in HTTP/1.0 and assumed in
+earlier mod_proxy_html versions.
Syntax ProxyHTMLCharsetOut name
This selects an encoding for mod_proxy_html output. It should not
+normally be used, as any change from the default UTF-8
+(Unicode - as used internally by libxml2) will impose an additional
+processing overhead. The special token ProxyHTMLCharsetOut *
+will generate output using the same encoding as the input.
Syntax ProxyHTMLStartParse element [elt*]
Specify that the HTML parser should start at the first instance +of any of the elements specified. This can be used where a broken +backend inserts leading junk that messes up the parser (example here).
+Normally, mod_proxy_html will refuse to run when not +in a proxy or when the contents are not HTML. This can be overridden +(at your own risk) by setting the environment variable +PROXY_HTML_FORCE (e.g. with the SetEnv directive).