Return-Path:
Apache HTTP Server Version 2.3 Available Languages: en 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. 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 mod_proxy_html was originally developed at WebÞing, whose
+extensive documentation may be useful to users. In order to parse non-HTML content (stylesheets and scripts), 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. 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 (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.
+ This selects an encoding for mod_proxy_html output. It should not
+normally be used, as any change from the default Note that this relies on In the first form, documents will be declared as HTML 4.01 or XHTML 1.0
+according to the option selected. This option also determines whether
+HTML or XHTML syntax is used for output. Note that the format of the
+documents coming from the backend server is immaterial: the parser will
+deal with it automatically. If the optional second argument is set to
+"Legacy", documents will be declared "Transitional", an option that may
+be necessary if you are proxying pre-1998 content or working with defective
+authoring/publishing tools. 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. 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. 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 A simple switch to enable or disable the proxy_html filter.
+ If Note that the proxy_html filter will only act on HTML data
+ (Content-Type text/html or application/xhtml+xml) and when the
+ data are proxied. You can override this (at your own risk) by
+ setting the PROXY_HTML_FORCE environment variable. Specifies one or more attributes to treat as scripting events and
+apply The default configuration defines the events in standard HTML 4
+and XHTML 1. Set to Set to This directive takes one to three arguments as follows: 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. This enables per-request interpolation in
+ If interpolation is not enabled, all rules are pre-compiled at startup.
+ With interpolation, they must be re-compiled for every request, which
+ implies an extra processing overhead. It should therefore be
+ enabled only when necessary. Specifies elements that have URL attributes that should be rewritten
+using standard The default configuration defines the HTML links for standard HTML 4
+and XHTML 1. If On, mod_proxy_html will log extra diagnostic information (at
+ This directive will cause mod_proxy_html to strip HTML comments.
+Note that this will also kill off any scripts or styles embedded in
+comments (a bogosity introduced in 1995/6 with Netscape 2 for the
+benefit of then-older browsers, but still in use today).
+It may also interfere with comment-based processors such as SSI or ESI:
+be sure to run any of those before mod_proxy_html in the
+filter chain if stripping comments! 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, as modified by any
+flags supplied. The optional third argument may define any of the following
+Flags. Flags are case-sensitive. Ignore HTML links (pass through unchanged) Ignore scripting events (pass through unchanged) Pass embedded script and style sections through untouched. Last-match. If this rule matches, no more rules are applied
+(note that this happens automatically for HTML links). Opposite to L. Overrides the one-change-only default
+behaviour with HTML links. Use Regular Expression matching-and-replace. If R is not set, it will use string-literal search-and-replace.
+The logic is starts-with in HTML links, but
+contains in scripting events and embedded script and style sections.
+ Use POSIX extended Regular Expressions. Only applicable with R. Case-insensitive matching. Only applicable with R. Disable regexp memory (for speed). Only applicable with R. Line-based regexp matching. Only applicable with R. Match at start only. This applies only to string matching
+(not regexps) and is irrelevant to HTML links. Match at end only. This applies only to string matching
+(not regexps) and is irrelevant to HTML links. Interpolate environment variables in NOTE: interpolation will only be enabled if
+ Interpolate environment variables in NOTE: interpolation will only be enabled if
+ Available Languages: en Apache Module mod_proxy_html
+
+
+Description: Rewrite HTML links in to ensure they are addressable
+from Clients' networks in a proxy context.
+Status: Base
+Module Identifier: proxy_html_module
+Source File: mod_proxy_html.c Compatibility: Version 2.4 and later. Available as a third-party module
+for earlier 2.x versions Summary
+
+ www.example.com
, they may wish to provide a gateway to the application server at http://www.example.com/appserver/
. When the application server links to itself, those links need to be rewritten to work through the gateway. mod_proxy_html serves to rewrite <a href="http://appserver.example.com/foo/bar.html">foobar</a>
to <a href="http://www.example.com/appserver/foo/bar.html">foobar</a>
making it accessible from outside.Directives
+
+ProxyHTMLBufSize Directive
+
+
+
+Description: Sets the buffer size increment for buffering inline scripts and
+stylesheets.
+Syntax: ProxyHTMLBufSize bytes
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions ProxyHTMLCharsetOut Directive
+
+
+
+Description: Specify a charset for mod_proxy_html output.
+Syntax: ProxyHTMLCharsetOut Charset | *
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions 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.mod_xml2enc
being loaded.ProxyHTMLDocType Directive
+
+
+
+Description: Sets an HTML or XHTML document type declaration.
+Syntax: ProxyHTMLDocType HTML|XHTML [Legacy]
OR
+
ProxyHTMLDocType fpi [SGML|XML]
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions LogLevel
Debug.ProxyHTMLEnable Directive
+
+
+
+Description: Turns the proxy_html filter on or off.
+Syntax: ProxyHTMLEnable On|Off
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+module for earlier 2.x versions. mod_xml2enc
is loaded it will also automatically
+ set up internationalisation support.ProxyHTMLEvents Directive
+
+
+
+Description: Specify attributes to treat as scripting events.
+Syntax: ProxyHTMLEvents attribute [attribute ...]
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions ProxyHTMLURLMap
s to where appropriate.
+You can specify any number of attributes in one or more
+ProxyHTMLEvents
directives.ProxyHTMLExtended Directive
+
+
+
+Description: Determines whether to fix links in inline scripts, stylesheets,
+and scripting events.
+Syntax: ProxyHTMLExtended On|Off
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions Off
, HTML links are rewritten according
+ProxyHTMLURLMap
directives, but links appearing
+in Javascript and CSS are ignored.On
, all scripting events and embedded scripts or
+stylesheets are also processed by the ProxyHTMLURLMap
+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.ProxyHTMLFixups Directive
+
+
+
+Description: Fixes for simple HTML errors.
+Syntax: ProxyHTMLFixups [lowercase] [dospath] [reset]
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions
+
+lowercase
Urls are rewritten to lowercasedospath
Backslashes in URLs are rewritten to forward slashes.reset
Unset any options set at a higher level in the configuration.ProxyHTMLInterp Directive
+
+
+
+Description: Enables per-request interpolation of
+ ProxyHTMLURLMap
rules.
+Syntax: ProxyHTMLInterp On|Off
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions ProxyHTMLURLMap
to- and from- patterns.ProxyHTMLLinks Directive
+
+
+
+Description: Specify HTML elements that have URL attributes to be rewritten.
+Syntax: ProxyHTMLLinks element attribute [attribute2 ...]
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions ProxyHTMLURLMap
s. You will need one
+ProxyHTMLLinks directive per element, but it can have any number of attributes.ProxyHTMLLogVerbose Directive
+
+
+
+Description: Enables extra verbose logging for debug
+Syntax: ProxyHTMLLogVerbose On|Off
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions LogLevel
Info)
+including charset detection and processing and
+ProxyHTMLURLMap
matches and rewrites.
+This may be helpful in debugging a configuration.ProxyHTMLStripComments Directive
+
+
+
+Description: Determines whether to strip HTML comments.
+Syntax: ProxyHTMLStripComments On|Off
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+for earlier 2.x versions ProxyHTMLURLMap Directive
+
+
+
+Description: Defines a rule to rewrite HTML links
+Syntax: ProxyHTMLURLMap from-pattern to-pattern [flags] [cond]
+Context: server config, virtual host, directory
+Status: Base
+Module: mod_proxy_html
+Compatibility: Version 2.4 and later; available as a third-party
+module for earlier 2.x versions.
+
+
+
+from-pattern
+is a regexp, and to-pattern
a replacement string that may be
+based on the regexp. Regexp memory is supported: you can use brackets ()
+in the from-pattern
and retrieve the matches with $1 to $9
+in the to-pattern
.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.ProxyHTMLInterp
is On.from-pattern
.
+Patterns supported are as above.ProxyHTMLInterp
is On.
Dans un contexte de serveur virtuel VirtualHost
, le modèle est tout
d'abord comparé à la portion de l'URL située entre le nom d'hôte
@@ -1136,14 +1136,18 @@ substitution !
section de laquelle elles sont décrites. Ces trois types de
variables sont évaluées dans l'ordre ci-dessus.
Comme mentionné précédemment, toutes les règles de
- réécriture sont appliquées à la chaîne de Substitution
- (selon l'ordre dans lequel elles sont définies dans le fichier
- de configuration). L'URL est intégralement
+ Chaque règle de réécriture s'applique au résultat de la règle
+ précédente, selon l'ordre dans lequel elles ont été définies dans
+ le fichier de configuration. L'URI du chemin du fichier (voir
+ ci-dessus Qu'est-ce qui est
+ comparé ?) est intégralement
remplacée par la chaîne de Substitution et le
processus de réécriture se poursuit jusqu'à ce que toutes les
règles aient été appliquées, ou qu'il soit explicitement stoppé
- par un drapeau L
.L
,
+ ou par un autre drapeau qui implique un arrêt immédiat, comme
+ END
ou
+ F
.
Par défaut, la chaîne de requête est transmise sans Modified: httpd/httpd/trunk/docs/manual/mod/mod_setenvif.html.fr URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_setenvif.html.fr?rev=1187990&r1=1187989&r2=1187990&view=diff ============================================================================== --- httpd/httpd/trunk/docs/manual/mod/mod_setenvif.html.fr (original) +++ httpd/httpd/trunk/docs/manual/mod/mod_setenvif.html.fr Sun Oct 23 22:14:32 2011 @@ -200,14 +200,6 @@ en compte que si aucune correspondance n caractéristiques de la requête, et si attribut n'a pas été spécifié sous la forme d'une expression rationnelle. -
','
. L'oid doit faire référence à une extension
-sous forme de chaîne.
-Le second argument (regex) est une expression rationnelle. Si regex
@@ -245,8 +237,6 @@ peuvent se présenter sous les formes su
:
SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1
:
- SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" commentaire-netscape=$1
- :
SetEnvIf ^TS ^[a-z] HAVE_TS
www.mon-domaine.example.com
.
- La sixième ligne définit la variable d'environnement
- commentaire-netscape
avec la chaîne trouvée dans le
- champ du certificat client SSL correspondant.
La dernière ligne définit la variable d'environnement
HAVE_TS
si la requête contient un en-tête dont le nom
commence par "TS" et dont la valeur commence par tout caractère du
Added: httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html?rev=1187990&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html (added)
+++ httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html Sun Oct 23 22:14:32 2011
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: mod_xml2enc.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
Propchange: httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html.en
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html.en?rev=1187990&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html.en (added)
+++ httpd/httpd/trunk/docs/manual/mod/mod_xml2enc.html.en Sun Oct 23 22:14:32 2011
@@ -0,0 +1,189 @@
+
+
+
Apache HTTP Server Version 2.3
+Available Languages: en
+Description: | Enhanced charset/internationalisation support for libxml2-based +filter modules |
---|---|
Status: | Base |
Module Identifier: | xml2enc_module |
Source File: | mod_xml2enc.c |
Compatibility: | Version 2.4 and later. Available as a third-party module +for 2.2.x versions |
This module provides enhanced internationalisation support for
+ markup-aware filter modules such as mod_proxy_html
.
+ It can automatically detect the encoding of input data and ensure
+ they are correctly processed by the libxml2 parser, including converting to Unicode (UTF-8) where
+ necessary. It can also convert data to an encoding of choice
+ after markup processing, and will ensure the correct charset
+ value is set in the HTTP Content-Type header.
There are two usage scenarios: with modules programmed to work + with mod_xml2enc, and with those that are not aware of it:
+Modules such as mod_proxy_html
version 3.1
+ and up use the xml2enc_charset
optional function to retrieve
+ the charset argument to pass to the libxml2 parser, and may use the
+ xml2enc_filter
optional function to postprocess to another
+ encoding. Using mod_xml2enc with an enabled module, no configuration
+ is necessary: the other module will configure mod_xml2enc for you
+ (though you may still want to customise it using the configuration
+ directives below).
To use it with a libxml2-based module that isn't explicitly enabled for + mod_xml2enc, you will have to configure the filter chain yourself. + So to use it with a filter foo provided by a module mod_foo to + improve the latter's i18n support with HTML and XML, you could use
+
+ FilterProvider iconv xml2enc Content-Type $text/html
+ FilterProvider iconv xml2enc Content-Type $xml
+ FilterProvider markup foo Content-Type $text/html
+ FilterProvider markup foo Content-Type $xml
+ FilterChain iconv markup
+
+ mod_foo will now support any character set supported by either + (or both) of libxml2 or apr_xlate/iconv.
+Programmers writing libxml2-based filter modules are encouraged to
+ enable them for mod_xml2enc, to provide strong i18n support for your
+ users without reinventing the wheel. The programming API is exposed in
+ mod_xml2enc.h, and a usage example is
+ mod_proxy_html
.
Unlike mod_charset_lite
, mod_xml2enc is designed
+ to work with data whose encoding cannot be known in advance and thus
+ configured. It therefore uses 'sniffing' techniques to detect the
+ encoding of HTTP data as follows:
<META>
+ element, that is used.xml2EncDefault
is used.The rules are applied in order. As soon as a match is found, + it is used and detection is stopped.
+libxml2 always uses UTF-8 (Unicode) +internally, and libxml2-based filter modules will output that by default. +mod_xml2enc can change the output encoding through the API, but there +is currently no way to configure that directly.
+Changing the output encoding should (in theory, at least) never be +necessary, and is not recommended due to the extra processing load on +the server of an unnecessary conversion.
+If you are working with encodings that are not supported by any of
+the conversion methods available on your platform, you can still alias
+them to a supported encoding using xml2EncAlias
.
Description: | Recognise Aliases for encoding values |
---|---|
Syntax: | xml2EncAlias charset alias [alias ...] |
Context: | server config |
Status: | Base |
Module: | mod_xml2enc |
This server-wide directive aliases one or more encoding to another + encoding. This enables encodings not recognised by libxml2 to be handled + internally by libxml2's encoding support using the translation table for + a recognised encoding. This serves two purposes: to support character sets + (or names) not recognised either by libxml2 or iconv, and to skip + conversion for an encoding where it is known to be unnecessary.
+ +Description: | Sets a default encoding to assume when absolutely no information +can be automatically detected |
---|---|
Syntax: | xml2EncDefault name |
Context: | server config, virtual host, directory, .htaccess |
Status: | Base |
Module: | mod_xml2enc |
Compatibility: | Version 2.4.0 and later; available as a third-party +module for earlier versions. |
If you are processing data with known encoding but no encoding + information, you can set this default to help mod_xml2enc process + the data correctly. For example, to work with the default value + of Latin1 (iso-8859-1 specified in HTTP/1.0, use
+xml2EncDefault iso-8859-1
Description: | Advise the parser to skip leading junk. |
---|---|
Syntax: | xml2StartParse element [element ...] |
Context: | server config, virtual host, directory, .htaccess |
Status: | Base |
Module: | mod_xml2enc |
Specify that the markup parser should start at the first instance + of any of the elements specified. This can be used as a workaround + where a broken backend inserts leading junk that messes up the parser (example here).
+It should never be used for XML, nor well-formed HTML.
+ +Available Languages: en
+ProxyHTMLURLMap
rules.Verfügbare Sprachen: de | Modified: httpd/httpd/trunk/docs/manual/mod/quickreference.html.en URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/quickreference.html.en?rev=1187990&r1=1187989&r2=1187990&view=diff ============================================================================== --- httpd/httpd/trunk/docs/manual/mod/quickreference.html.en (original) +++ httpd/httpd/trunk/docs/manual/mod/quickreference.html.en Sun Oct 23 22:14:32 2011 @@ -636,6 +636,22 @@ proxied
ProxyHTMLURLMap
rules.Available Languages: de | Modified: httpd/httpd/trunk/docs/manual/mod/quickreference.html.es URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/quickreference.html.es?rev=1187990&r1=1187989&r2=1187990&view=diff ============================================================================== --- httpd/httpd/trunk/docs/manual/mod/quickreference.html.es (original) +++ httpd/httpd/trunk/docs/manual/mod/quickreference.html.es Sun Oct 23 22:14:32 2011 @@ -643,6 +643,22 @@ proxied
ProxyHTMLURLMap
rules.Idiomas disponibles: de | Modified: httpd/httpd/trunk/docs/manual/mod/quickreference.html.ja.utf8 URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/quickreference.html.ja.utf8?rev=1187990&r1=1187989&r2=1187990&view=diff ============================================================================== --- httpd/httpd/trunk/docs/manual/mod/quickreference.html.ja.utf8 [utf-8] (original) +++ httpd/httpd/trunk/docs/manual/mod/quickreference.html.ja.utf8 [utf-8] Sun Oct 23 22:14:32 2011 @@ -602,6 +602,22 @@ malicious privileges-aware code.
ProxyHTMLURLMap
rules.言語: de | Modified: httpd/httpd/trunk/docs/manual/mod/quickreference.html.ko.euc-kr URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/quickreference.html.ko.euc-kr?rev=1187990&r1=1187989&r2=1187990&view=diff ============================================================================== --- httpd/httpd/trunk/docs/manual/mod/quickreference.html.ko.euc-kr [euc-kr] (original) +++ httpd/httpd/trunk/docs/manual/mod/quickreference.html.ko.euc-kr [euc-kr] Sun Oct 23 22:14:32 2011 @@ -605,6 +605,22 @@ proxied
ProxyHTMLURLMap
rules.가능한 언어: de | Modified: httpd/httpd/trunk/docs/manual/mod/quickreference.html.tr.utf8 URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/quickreference.html.tr.utf8?rev=1187990&r1=1187989&r2=1187990&view=diff ============================================================================== --- httpd/httpd/trunk/docs/manual/mod/quickreference.html.tr.utf8 [utf-8] (original) +++ httpd/httpd/trunk/docs/manual/mod/quickreference.html.tr.utf8 [utf-8] Sun Oct 23 22:14:32 2011 @@ -635,6 +635,22 @@ proxied
ProxyHTMLURLMap
rules.Mevcut Diller: de |