mirror of
https://github.com/apache/httpd.git
synced 2025-04-18 22:24:07 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1877532 13f79535-47bb-0310-9956-ffa450edef68
592 lines
29 KiB
Plaintext
592 lines
29 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
|
<!-- English Revision: 1877522 -->
|
|
<!-- French translation : Lucien GENTIS -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_proxy_html.xml.meta">
|
|
|
|
<name>mod_proxy_html</name>
|
|
<description>Réécrit les liens HTML afin de s'assurer qu'ils soient bien
|
|
adressables depuis les réseaux des clients dans un contexte de
|
|
mandataire.</description>
|
|
<status>Base</status>
|
|
<sourcefile>mod_proxy_html.c</sourcefile>
|
|
<identifier>proxy_html_module</identifier>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures</compatibility>
|
|
|
|
<summary>
|
|
<p>Ce module fournit un filtre en sortie permettant de réécrire les liens
|
|
HTML dans un contexte de mandataire, afin de s'assurer que ces liens
|
|
fonctionnent pour les utilisateurs en dehors du mandataire. Il accomplit la
|
|
même tâche que la directive <directive
|
|
module="mod_proxy">ProxyPassReverse</directive> d'Apache accomplit pour les
|
|
en-têtes HTTP, et fait partie des composants essentiels d'un mandataire
|
|
inverse.</p>
|
|
|
|
<p>Par exemple, si une entreprise possède un serveur d'applications
|
|
nommé appserver.example.com qui n'est visible que depuis son réseau
|
|
interne, et un serveur web public <code>www.example.com</code>, il peut
|
|
être souhaitable de fournir une passerelle vers le serveur d'application
|
|
à l'adresse <code>http://www.example.com/appserver/</code>. Lorsque le
|
|
serveur d'applications présente un lien vers lui-même, ce lien doit être
|
|
réécrit pour fonctionner à travers la passerelle. A cet effet,
|
|
<module>mod_proxy_html</module> permet de réécrire <code><a
|
|
href="http://appserver.example.com/foo/bar.html">foobar</a></code>
|
|
en <code><a
|
|
href="http://www.example.com/appserver/foo/bar.html">foobar</a></code>,
|
|
ce qui permet de rendre le serveur d'applications accessible depuis
|
|
l'extérieur.</p>
|
|
</summary>
|
|
|
|
<section id="intro"><title>Introduction</title>
|
|
<p>mod_proxy_html est apparu en tant que module tiers avec les versions 2.0.x du
|
|
serveur HTTP Apache. Il a ensuite été donné à l'ASF en 2011 avec le module
|
|
<module>mod_xml2enc</module> (voir <a href="#i18n">Internationalisation</a>), et
|
|
fait maintenant partie des modules standards de HTTPD 2.4 et de ses versions de
|
|
développement.</p>
|
|
</section>
|
|
<section id="custom"><title>Interprétation HTML personnalisée</title>
|
|
<p>mod_proxy_html utilise en interne le module HTMLParser fourni par la
|
|
bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. A la différence
|
|
des autres interpréteurs libxml2, HTMLParser traite les documents HTML sans
|
|
imposer à ces derniers d'être bien formés du point de vue XML. En particulier,
|
|
il sait gérer les tags implicites - comme le </p> fermant - et les insère
|
|
dans le flux des évènements SAX utilisé par mod_proxy_html. Il possède aussi une
|
|
connaissance explicite des standards HTML 4 et XHTML 1 du W3C, et peut en
|
|
corriger certaines erreurs.</p>
|
|
<p>mod_proxy_html offre toute une panoplie d'options permettant de contrôler
|
|
l'interprétation du code HTML. La correction d'erreur peut être activée (selon
|
|
votre choix de standard HTML) ou désactivée via la directive
|
|
<directive>ProxyHTMLDocType</directive>. Et à la demande générale, il peut être
|
|
configuré pour traiter les éléments et attributs non standards en tant que liens
|
|
qui devront peut-être être réécrits, et pour réécrire les liens dans les contenus
|
|
embarqués non-HTML (feuilles de style et scripts). Notez que ce module ne
|
|
convient pas pour traiter les feuilles de style ou scripts externes ; pour ces
|
|
derniers, vous devez utiliser un autre interpréteur comme
|
|
<module>mod_substitute</module> ou <module>mod_sed</module>. Les principales
|
|
directives permettant de personnaliser l'interprétation du code HTML sont
|
|
<directive>ProxyHTMLLinks</directive> et <directive>ProxyHTMLEvents</directive>.
|
|
Par défaut, elles sont définies dans le fichier de configuration
|
|
<var>proxy-html.conf</var> qui contient aussi des commentaires pour vous aider à
|
|
personnaliser votre interpréteur si nécessaire. </p>
|
|
<note>Pour des raisons historiques, configurer mod_proxy_html pour réécrire les
|
|
URLs dans les évènements de scripting n'entraîne pas par défaut la réécriture des
|
|
URLs dans les feuilles de style. Ce comportement peut être modifié en
|
|
décommentant la ligne correspondante du fichier <var>proxy-html.conf</var> comme
|
|
indiqué dans la documentation que contient ce dernier.</note>
|
|
|
|
</section>
|
|
<section id="i18n"><title>Internationalisation</title>
|
|
<p>mod_proxy_html utilise en interne un interpréteur HTML intelligent fourni par
|
|
la bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. L'interpréteur
|
|
utilise Unicode (UTF-8) en interne. Ceci complexifie la gestion
|
|
des autres encodages nécessaires pour traiter de nombreux sites web dont le
|
|
langage est autre que l'anglais. Si ce traitement n'est pas effectué
|
|
de manière appropriée, les sites web qui utilisent des caractères non-ASCII dans un
|
|
codage autre que UTF-8 (Unicode) ne s'afficheront pas correctement.</p>
|
|
<p>Entre sa première version en 2003 et sa donnation à Apache en 2011, le
|
|
support de l'internationalisation (i18n) est parti de rien pour arriver à une
|
|
structure sophistiquée capable d'appliquer des règles issues de HTTP, HTML et
|
|
XML pour détecter le codage d'un document et ainsi le traiter correctement. Ce
|
|
traitement était cependant commun à mod_proxy_html et à d'autres modules
|
|
utilisant libxml2, et plutôt que de le maintenir au niveau de chacun de ces
|
|
modules, il parut sensé de l'extraire de ces derniers pour en faire
|
|
un module à part entière. Ce module est <module>mod_xml2enc</module> et il doit
|
|
être chargé pour que l'internationalisation fonctionne.</p>
|
|
<p>L'interaction entre mod_proxy_html et mod_xml2enc est trop complexe pour être
|
|
configurée en utilisant les règles de filtrage classiques, y compris les
|
|
directives de <module>mod_filter</module>. Ainsi, même si mod_proxy_html peut
|
|
quand-même être configuré via les directives de filtrage classiques, ce ne sera
|
|
pas suffisant pour le support de l'internationalisation. A cet effet, on a
|
|
introduit la nouvelle directive <directive>ProxyHTMLEnable</directive> qui
|
|
permet de configurer à la fois le filtre de mod_proxy_html et mod_xml2enc. Il
|
|
est d'ailleurs recommandé de toujours utiliser ProxyHTMLEnable, même
|
|
si le support de l'internationalisation n'est pas nécessaire. <strong>Notez que
|
|
ceci constitue un changement par rapport aux précédentes versions où
|
|
mod_proxy_html était activé via les directives de filtrage.</strong></p>
|
|
|
|
</section>
|
|
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLMeta</name>
|
|
<description>Active ou désactive une préinterprétation supplémentaire
|
|
des métadonnées dans les sections HTML <code><head></code>.</description>
|
|
<syntax>ProxyHTMLMeta On|Off</syntax>
|
|
<default>ProxyHTMLMeta Off</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible à partir de la version 2.4 du serveur HTTP
|
|
Apache ; proposé en tant que module tiers dans les versions 2.x
|
|
précédentes.</compatibility>
|
|
|
|
<usage>
|
|
<note>
|
|
<p>Dans les versions précédentes de mod_proxy_html (y compris celles de
|
|
HTTPD 2.0 et 2.2), ProxyHTMLMeta faisait partie du support i18n. Cette
|
|
fonctionnalité est maintenant assurée par le module
|
|
<module>mod_xml2enc</module>, et ProxyHTMLMeta n'est à l'heure actuelle
|
|
plus utile dans le cadre d'un serveur opérationnel ; elle peut cependant
|
|
aider les développeurs à tester/déboguer des logiciels tels que les
|
|
navigateurs.</p>
|
|
</note>
|
|
|
|
<p>Cette directive permet d'activer ou désactiver une
|
|
préinterprétation supplémentaire des métadonnées dans les sections
|
|
HTML <code><head></code>.</p>
|
|
|
|
<p>L'activation de <directive>ProxyHTMLMeta</directive> va entraîner
|
|
l'interprétation de toutes les déclarations
|
|
<code><meta http-equiv=...></code> et leur conversion en
|
|
en-têtes HTTP, afin de conserver le but original de cette forme
|
|
de métaélément HTML.</p>
|
|
|
|
<note type="warning"><title>Avertissement</title> Compte tenu du fait que la
|
|
directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments
|
|
<code>http-equiv</code> au rang d'en-têtes HTTP, il est conseillé de ne
|
|
l'activer que si vous faites autant confiance au contenu HTML qu'à votre
|
|
serveur mandataire. Avec cette directive en effet, si ce contenu est géré
|
|
par des gens malintentionnés, ces derniers seront en mesure d'injecter des
|
|
en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de
|
|
votre serveur.
|
|
</note>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLEnable</name>
|
|
<description>Permet d'activer/désactiver le filtre proxy_html.</description>
|
|
<syntax>ProxyHTMLEnable On|Off</syntax>
|
|
<default>ProxyHTMLEnable Off</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
|
|
<usage>
|
|
<p>Cette directive est un simple commutateur permettant
|
|
d'activer/désactiver le filtre proxy_html. Si
|
|
<module>mod_xml2enc</module> est chargé, elle va aussi activer
|
|
automatiquement le support de l'internationalisation.</p>
|
|
<p>Notez que le filtre proxy_html s'agira que si les données sont de
|
|
type HTML (Content-Type text/html ou application/xhtml+xml), et si
|
|
elles passent par un mandataire. Vous pouvez passer outre ces
|
|
contraintes (à vos risques et périls) en définissant la variable
|
|
d'environnement <var>PROXY_HTML_FORCE</var>.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLURLMap</name>
|
|
<description>Définit une règle de réécriture des liens HTML</description>
|
|
<syntax>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></syntax>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
|
|
<usage>
|
|
<p>Il s'agit de la directive la plus importante pour la réécriture des
|
|
liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un
|
|
lien correspond à <var>modèle-source</var>, la partie du lien concernée
|
|
sera réécrite en <var>modèle-cible</var>, en tenant compte des
|
|
modifications induites par les drapeaux éventuellement spécifiés et par
|
|
la directive <directive module="mod_proxy_html">ProxyHTMLExtended</directive>.
|
|
Ne seront considérés comme des liens HTML que les éléments spécifiés via la
|
|
directive <directive module="mod_proxy_html">ProxyHTMLLinks</directive>.</p>
|
|
|
|
<p>Le troisième argument optionnel permet de définir un des drapeaux
|
|
suivants (les drapeaux sont sensibles à la casse) :</p>
|
|
<dl>
|
|
<dt>h</dt>
|
|
<dd><p>Ignore les liens HTML (les traverse sans les modifier)</p></dd>
|
|
<dt>e</dt>
|
|
<dd><p>Ignore les évènements de scripting (les traverse sans les
|
|
modifier)</p></dd>
|
|
<dt>c</dt>
|
|
<dd><p>Traverse les sections de type style ou script sans les modifier.</p></dd>
|
|
|
|
<dt>L</dt>
|
|
<dd><p>Last-match. Si cette règle s'applique, aucune autre règle ne sera
|
|
prise en compte (notez qu'il s'agit du comportement automatique pour les
|
|
liens HTML).</p></dd>
|
|
<dt>l</dt>
|
|
<dd><p>L'opposé de L. Passe outre le comportement par défaut du
|
|
changement unique pour les liens HTML.</p></dd>
|
|
<dt>R</dt>
|
|
<dd><p>Utilise des expressions rationnelles pour les modèles.
|
|
<code>modèle-source</code> est une expression rationnelle, et
|
|
<code>modèle-cible</code> une chaîne de remplacement qui peut être basée
|
|
elle aussi sur une expression rationnelle. La mémorisation dans les
|
|
expressions rationnelles est supportée : vous pouvez utiliser des
|
|
parenthèses () dans le <code>modèle-source</code>, et récupérer la
|
|
correspondance de leur contenu via les variables $1 à $9 dans le
|
|
<code>modèle-cible</code>.</p>
|
|
|
|
<p>Si le drapeau R n'est pas fourni, la directive utilisera des chaînes
|
|
littérales pour les différents modèles de recherche/remplacement. La
|
|
logique de recherche est <em>"commence par"</em> dans les liens HTML, et
|
|
<em>"contient"</em> dans les évènements de scripting et les sections de
|
|
type style ou script.
|
|
</p>
|
|
</dd>
|
|
<dt>x</dt>
|
|
<dd><p>Utilise les expressions rationnelles étendues POSIX. Ne
|
|
s'applique qu'avec R.</p></dd>
|
|
<dt>i</dt>
|
|
<dd><p>Recherche de correspondance sensible à la casse. Ne
|
|
s'applique qu'avec R.</p></dd>
|
|
|
|
<dt>n</dt>
|
|
<dd><p>Désactive la mémorisation dans les expressions rationnelles (pour
|
|
améliorer les performances). Ne s'applique qu'avec R.</p></dd>
|
|
<dt>s</dt>
|
|
<dd><p>Recherche de correspondance dans les expressions rationnelles
|
|
basée sur la ligne. Ne s'applique qu'avec R.</p></dd>
|
|
<dt>^</dt>
|
|
<dd><p>Recherche de correspondance au début seulement. Ne concerne que
|
|
les recherches de correspondance par rapport à des chaînes, et ne
|
|
s'applique pas aux liens HTML.</p></dd>
|
|
<dt>$</dt>
|
|
<dd><p>Recherche de correspondance à la fin seulement. Ne concerne que
|
|
les recherches de correspondance par rapport à des chaînes, et ne
|
|
s'applique pas aux liens HTML.</p></dd>
|
|
<dt>V</dt>
|
|
<dd><p>Insère des variables d'environnement dans le
|
|
<code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme
|
|
<code>${varname|default}</code> sera remplacé par la valeur de la
|
|
variable d'environnement <code>varname</code>. Si cette dernière n'est
|
|
pas définie, <code>modèle-cible</code> sera remplacé par
|
|
<code>default</code>. La spécification de <code>|default</code> est
|
|
facultative.</p>
|
|
<p>NOTE: l'insertion de variables d'environnement n'est possible que si
|
|
la directive <directive module="mod_proxy_html">ProxyHTMLInterp</directive> a été définie à
|
|
<var>On</var>.</p>
|
|
</dd>
|
|
|
|
<dt>v</dt>
|
|
<dd><p>Insère des variables d'environnement dans le
|
|
<code>modèle-source</code>. La syntaxe du modèle est identique à la
|
|
syntaxe précédente.</p>
|
|
<p>NOTE: l'insertion de variables d'environnement n'est possible que si
|
|
la directive <directive module="mod_proxy_html">ProxyHTMLInterp</directive> a été définie à
|
|
<var>On</var>.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>Le quatrième argument optionnel <strong>cond</strong> définit une
|
|
condition qui sera évaluée pour chaque requête, sous réserve que la
|
|
directive <directive module="mod_proxy_html">ProxyHTMLInterp</directive> ait été définie à
|
|
<var>On</var>. Si la condition est évaluée à FALSE, la règle ne sera pas
|
|
appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune
|
|
condition n'est définie, la règle s'applique.</p>
|
|
<p>La <strong>condition</strong> est évaluée par l'<a
|
|
href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des
|
|
conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi
|
|
supportée.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLInterp</name>
|
|
<description>Active la réinterprétation des règles
|
|
<directive>ProxyHTMLURLMap</directive> pour chaque requête.</description>
|
|
<syntax>ProxyHTMLInterp On|Off</syntax>
|
|
<default>ProxyHTMLInterp Off</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
|
|
<usage>
|
|
<p>Cette directive permet d'activer le réinterprétation pour chaque
|
|
requête des modèles source et cible de la directive
|
|
<directive module="mod_proxy_html">ProxyHTMLURLMap</directive>.</p>
|
|
<p>Si la réinterprétation n'est pas activée, toutes les règles sont
|
|
précompilées au démarrage du serveur. Si elle est activée, les
|
|
règles doivent être recompilées pour chaque requête, ce qui induit
|
|
une charge de traitement supplémentaire. Elle ne doit donc être activée que si
|
|
cela s'avère nécessaire.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLDocType</name>
|
|
<description>Définit une déclaration de type de document HTML ou XHTML.</description>
|
|
<syntax>ProxyHTMLDocType HTML|XHTML [Legacy]<br/><strong>OR</strong>
|
|
<br/>ProxyHTMLDocType <var>fpi</var> [SGML|XML]<br/><strong>OR</strong>
|
|
<br/>ProxyHTMLDocType html5<br/><strong>OR</strong>
|
|
<br/>ProxyHTMLDocType auto</syntax>
|
|
<default>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
|
|
<usage>
|
|
<p>Avec la première syntaxe, les documents seront déclarés de type HTML
|
|
4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi
|
|
si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format
|
|
des documents en provenance du serveur d'arrière-plan n'est pas
|
|
important, car l'interpréteur le détectera automatiquement. Si le
|
|
second argument optionnel est défini à "<code>Legacy</code>", les documents seront
|
|
déclarés de type "Transitional" ; cette option peut être nécessaire si
|
|
vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec
|
|
des outils de création/publication déficients.</p>
|
|
<p>Avec la deuxième syntaxe, cette directive vous permet d'insérer votre
|
|
propre FPI (Formal Public Identifier). Le second argument optionnel
|
|
détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.</p>
|
|
<p>La troisième syntaxe attribue le type HTML 5 aux documents.</p>
|
|
<p>La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et
|
|
n'est pas encore disponible dans les versions stables ; elle utilise
|
|
l'interpréteur HTML de libxml2 pour déterminer le type de document.</p>
|
|
<p>Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML
|
|
en conformité avec le standard spécifié. Il ne pourra pas corriger
|
|
toutes les erreurs, mais il va supprimer les éléments et attributs non
|
|
conformes. Il peut aussi journaliser les autres erreurs si la directive
|
|
<directive module="core">LogLevel</directive> est définie à
|
|
Debug.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLFixups</name>
|
|
<description>Corrige les erreurs HTML simples.</description>
|
|
<syntax>ProxyHTMLFixups [lowercase] [dospath] [reset]</syntax>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Cette directive accepte un à trois arguments parmi les suivants :</p>
|
|
<ul>
|
|
<li><code>lowercase</code> Les Urls sont réécrites en minuscules</li>
|
|
<li><code>dospath</code> Les slashes inversés dans les URLs sont
|
|
remplacés par des slashes directs.</li>
|
|
<li><code>reset</code> Annule toute option définie à un niveau supérieur
|
|
dans la configuration</li>
|
|
</ul>
|
|
<p>Cette directive doit être utilisée avec prudence. Elle peut corriger
|
|
certaines erreurs de création, mais risque aussi de modifier par erreur
|
|
des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur
|
|
d'arrière-plan est déficient.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLExtended</name>
|
|
<description>Détermine si l'on doit corriger les liens dans les scripts
|
|
en ligne, les feuilles de style et les évènements de type scripting.</description>
|
|
<syntax>ProxyHTMLExtended On|Off</syntax>
|
|
<default>ProxyHTMLExtended Off</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Si cette directive est définie à <code>Off</code>, les liens HTML
|
|
sont réécrits en fonction des directives
|
|
<directive module="mod_proxy_html">ProxyHTMLURLMap</directive>, mais les liens qui apparaissent
|
|
dans le code Javascript et les feuilles de style restent inchangés.</p>
|
|
<p>Si elle est définie à <code>On</code>, tous les évènements de type
|
|
scripting (définis par la directive
|
|
<directive module="mod_proxy_html">ProxyHTMLEvents</directive>) et les scripts inclus ou les
|
|
feuilles de style sont aussi
|
|
traités par les règles <directive module="mod_proxy_html">ProxyHTMLURLMap</directive>, en
|
|
fonction des drapeaux définis pour chacune d'entre elles. Ne définissez
|
|
cette directive à <code>On</code> qu'en cas de nécessité absolue, car la
|
|
charge supplémentaire induite impacte les performances.</p>
|
|
<p>Vous devez aussi prêter attention aux modèles de comparaison, car
|
|
l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un
|
|
script embarqué ou une feuille de style. En particulier, la comparaison
|
|
étendus du caractère <code>/</code> a de fortes chances d'induire des
|
|
correspondances erronées.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLStripComments</name>
|
|
<description>Détermine si les commentaires HTML doivent être supprimés.</description>
|
|
<syntax>ProxyHTMLStripComments On|Off</syntax>
|
|
<default>ProxyHTMLStripComments Off</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Si cette directive est définie à <code>On</code>, mod_proxy_html
|
|
supprimera les commentaires HTML. Notez que cela supprimera aussi tout
|
|
script ou style inclus dans les commentaires (une monstruosité
|
|
introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus
|
|
anciens, et encore utilisée de nos jours). Cette directive peut aussi
|
|
interférer avec des processeurs basés sur les commentaires comme SSI ou
|
|
ESI : assurez-vous d'exécuter ces derniers <em>avant</em> mod_proxy_html
|
|
dans la chaîne de filtrage si vous supprimez les commentaires !</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLBufSize</name>
|
|
<description>Définit l'incrément de la taille du tampon, ainsi que sa
|
|
taille initiale, pour la mise en
|
|
tampon des scripts en ligne et des feuilles de style.</description>
|
|
<syntax>ProxyHTMLBufSize <var>nb-octets</var></syntax>
|
|
<default>ProxyHTMLBufSize 8192</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et
|
|
scripts) embarqué dans des documents HTML, <module>mod_proxy_html</module> doit
|
|
le lire et le mémoriser en entier dans un
|
|
tampon. Ce tampon devra être étendu autant que nécessaire afin de
|
|
pouvoir accueillir le plus grand script ou la plus grande feuille de
|
|
style de la page, selon un incrément de <var>nb-octets</var> que cette
|
|
directive permet de définir.</p>
|
|
<p>La valeur par défaut est 8192 et sera suffisante pour la plupart des
|
|
pages. Cependant, si vous savez que vous allez mandater des
|
|
pages contenant des feuilles de style et/ou scripts plus grands que 8k
|
|
(cette taille s'entend pour chaque script ou feuilles de style, non pour
|
|
leur ensemble), il sera plus efficace de définir une taille de
|
|
tampon initiale plus grande afin d'éviter d'avoir à le redimensionner
|
|
dynamiquement au cours du traitement d'une requête.
|
|
</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLEvents</name>
|
|
<description>Spécifie les attributs à traiter comme des évènements de
|
|
type scripting.</description>
|
|
<syntax>ProxyHTMLEvents <var>attribut [attribut ...]</var></syntax>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Cette directive permet de spécifier un ou plusieurs attributs à
|
|
traiter comme
|
|
des évènements de type scripting et de leur appliquer les règles
|
|
<directive module="mod_proxy_html">ProxyHTMLURLMap</directive> lorsqu'elles ont été définies. Vous
|
|
pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs
|
|
directives <directive>ProxyHTMLEvents</directive>.</p>
|
|
<p>Normalement, cette directive est définie globalement. Si vous
|
|
définissez <directive>ProxyHTMLEvents</directive> à plusieurs niveaux, certains niveaux
|
|
l'emportant sur d'autres, vous devrez spécifier un jeu complet
|
|
d'évènements pour chaque niveau.</p>
|
|
<p>Le fichier <var>proxy-html.conf</var> fournit une configuration par
|
|
défaut et définit les évènements selon les standards
|
|
HTML 4 et XHTML 1. Cette configuration peut être adaptée pour s'appliquer aux
|
|
URLs embarquées dans les attributs des feuilles de style CSS en ajoutant
|
|
l'attribut <var>style</var> à ProxyHTMLEvents, même s'il n'existe pas dans la
|
|
configuration par défaut.</p>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLLinks</name>
|
|
<description>Spécifie les éléments HTML dont les attributs d'URL doivent
|
|
être réécrits.</description>
|
|
<syntax>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></syntax>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Cette directive permet de spécifier les éléments dont les attributs d'URL
|
|
doivent être réécrits en utilisant les règles standards <directive
|
|
module="mod_proxy_html">ProxyHTMLURLMap</directive>. Vous devez définir une
|
|
directive <directive>ProxyHTMLLinks</directive> pour chaque élément, mais chacune d'entre elles peut
|
|
spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive
|
|
est définie globalement. Si vous définissez <directive>ProxyHTMLLinks</directive> à plusieurs niveaux,
|
|
certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet
|
|
de liens pour chaque niveau.</p> <p>Le fichier <var>proxy-html.conf</var>
|
|
fournit une configuration par défaut et définit les liens HTML selon les
|
|
standards HTML 4 et XHTML 1.</p>
|
|
<example>
|
|
<title>Exemples issus de proxy-html.conf</title>
|
|
<highlight language="config">
|
|
ProxyHTMLLinks a href
|
|
ProxyHTMLLinks area href
|
|
ProxyHTMLLinks link href
|
|
ProxyHTMLLinks img src longdesc usemap
|
|
ProxyHTMLLinks object classid codebase data usemap
|
|
ProxyHTMLLinks q cite
|
|
ProxyHTMLLinks blockquote cite
|
|
ProxyHTMLLinks ins cite
|
|
ProxyHTMLLinks del cite
|
|
ProxyHTMLLinks form action
|
|
ProxyHTMLLinks input src usemap
|
|
ProxyHTMLLinks head profile
|
|
ProxyHTMLLinks base href
|
|
ProxyHTMLLinks script src for
|
|
</highlight>
|
|
</example>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>ProxyHTMLCharsetOut</name>
|
|
<description>Spécifie un jeu de caractères pour la sortie de
|
|
mod_proxy_html.</description>
|
|
<syntax>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></syntax>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context><context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.
|
|
Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility>
|
|
<usage>
|
|
<p>Cette directive permet de spécifier un jeu de caractères pour la
|
|
sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout
|
|
changement par rapport à la valeur par défaut <code>UTF-8</code> (Unicode -
|
|
utilisé en interne par libxml2) induit une charge supplémentaire de
|
|
traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code>
|
|
permet de générer une sortie qui utilisera le même encodage que
|
|
l'entrée.</p>
|
|
<p>Notez que tout ceci ne fonctionne que si le module
|
|
<module>mod_xml2enc</module> est chargé.</p>
|
|
<note>
|
|
<p>Cette directive ne supporte pas les entités HTML. Si un document contient des
|
|
caractères qui ne peuvent pas être représentés dans le jeu de caractères cible, la directive
|
|
échouera et le document sera probablement corrompu (et ceci même si ces
|
|
caractères sont représentés par des entités HTML).</p>
|
|
</note>
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
|
|
|
|
</modulesynopsis>
|
|
|