]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_rewrite.xml.fr
Quote path/URL arguments to Proxy* directives.
[apache] / docs / manual / mod / mod_rewrite.xml.fr
index c2911451bd1a40c55ba93212a550ba946dd2be84..d0420f85de2d56bba6e343e7327a84c547b7d03b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 729539 -->
+<!-- English Revision: 1668875:1673917 (outdated) -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -33,29 +33,28 @@ r&egrave;gles permettant de r&eacute;&eacute;crire les URLs des requ&ecirc;tes
 <status>Extension</status>
 <sourcefile>mod_rewrite.c</sourcefile>
 <identifier>rewrite_module</identifier>
-<compatibility>Disponible &agrave; partir de la version 1.3
-d'Apache</compatibility>
 
 <summary>
-      <p>Ce module utilise un moteur de r&eacute;&eacute;criture &agrave; base de r&egrave;gles
-      (bas&eacute; sur un interpr&eacute;teur d'expressions rationnelles) pour
-      r&eacute;&eacute;crire les URLs des requ&ecirc;tes &agrave; la vol&eacute;e. Il accepte un nombre
-      illimit&eacute; de r&egrave;gles, ainsi q'un nombre illimit&eacute; de conditions
-      attach&eacute;es &agrave; chaque r&egrave;gle, fournissant ainsi un m&eacute;canisme de
-      manipulation d'URL vraiment souple et puissant. Les manipulations
-      d'URL peuvent d&eacute;pendre de nombreux tests, des variables du
-      serveur, des variables d'environnement, des en-t&ecirc;tes HTTP ou de
-      l'horodatage. On peut m&ecirc;me lancer des requ&ecirc;tes vers une base de
-      donn&eacute;es externe sous divers formats, afin d'obtenir une
-      s&eacute;lection d'URL tr&egrave;s fine.</p>
-
-      <p>Ce module agit sur l'ensemble de l'URL (la partie concernant
-      le chemin incluse) au niveau du serveur
-      (<code>httpd.conf</code>) mais aussi au niveau du r&eacute;pertoire
-      (<code>.htaccess</code>), et peut inclure des arguments de cha&icirc;ne
-      de requ&ecirc;te (query string) comme r&eacute;sultat. Le r&eacute;sultat de la r&eacute;&eacute;criture peut
-      renvoyer vers un sous-traitement interne, une redirection vers
-      une requ&ecirc;te externe, ou m&ecirc;me vers le flux d'un proxy interne.</p>
+      <p>Le module <module>mod_rewrite</module> utilise un moteur de
+      r&eacute;&eacute;criture &agrave; base de r&egrave;gles, bas&eacute; sur un interpr&eacute;teur
+      d'expressions rationnelles PCRE, pour r&eacute;&eacute;crire les URLs &agrave; la vol&eacute;e. Par
+      d&eacute;faut, <module>mod_rewrite</module> met en correspondance une URL
+      avec le syst&egrave;me de fichiers. Cependant, on peut aussi l'utiliser
+      pour rediriger une URL vers une autre URL, ou pour invoquer une
+      requ&ecirc;te interne &agrave; destination du mandataire.</p>
+      <p><module>mod_rewrite</module> fournit une m&eacute;thode souple et
+      puissante pour manipuler les URLs en utilisant un nombre illimit&eacute;
+      de r&egrave;gles. Chaque r&egrave;gle peut &ecirc;tre associ&eacute;e &agrave; un nombre illimit&eacute; de
+      conditions, afin de vous permettre de r&eacute;&eacute;crire les URLs en
+      fonction de variables du serveur, de variables d'environnement,
+      d'en-t&ecirc;tes HTTP, ou de rep&egrave;res temporels.</p>
+      <p><module>mod_rewrite</module> agit sur la totalit&eacute; de l'URL, y
+      compris la partie chemin. Une r&egrave;gle de r&eacute;&eacute;criture peut &ecirc;tre
+      invoqu&eacute;e dans <code>httpd.conf</code> ou dans un fichier
+      <code>.htaccess</code>. Le chemin g&eacute;n&eacute;r&eacute; par une r&egrave;gle de
+      r&eacute;&eacute;criture peut inclure une cha&icirc;ne de param&egrave;tres, ou peut renvoyer
+      vers un traitement secondaire interne, une redirection vers une
+      requ&ecirc;te externe ou vers le mandataire interne.</p>
 
       <p>Vous trouverez d'avantage de d&eacute;tails, discussions et exemples
       dans la
@@ -63,80 +62,45 @@ d'Apache</compatibility>
       sur mod_rewrite</a>.</p>
 </summary>
 
-<seealso><a href="#rewriteflags">Drapeaux des r&egrave;gles de r&eacute;&eacute;criture</a></seealso>
-
-
-<section id="quoting"><title>Marquage des caract&egrave;res sp&eacute;ciaux</title>
-
-      <p>Depuis Apache 1.3.20, les caract&egrave;res sp&eacute;ciaux dans les
-      <em>cha&icirc;nes de test</em> et les cha&icirc;nes de <em>Substitution</em>
-      peuvent &ecirc;tre &eacute;chapp&eacute;s (c'est &agrave; dire trait&eacute;s comme des caract&egrave;res
-      normaux sans tenir compte de leur signification en tant que
-      caract&egrave;re sp&eacute;cial), en les faisant pr&eacute;c&eacute;der d'un caract&egrave;re
-      anti-slash ('\'). En d'autres termes, vous pouvez inclure un
-      v&eacute;ritable signe "dollar" dans une cha&icirc;ne de <em>Substitution</em>
-      en utilisant '<code>\$</code>' ; ceci emp&ecirc;che mod_rewrite de le
-      traiter comme une r&eacute;f&eacute;rence arri&egrave;re.</p>
-</section>
-
-<section id="EnvVar"><title>Variables d'environnement</title>
-
-      <p>Ce module conserve le contenu de deux variables d'environnement
-      CGI/SSI additionnelles (non standards) nomm&eacute;es
-      <code>SCRIPT_URL</code> et <code>SCRIPT_URI</code>. Celles-ci
-      contiennent l'adresse <em>logique</em> vue du Web
-      de la ressource concern&eacute;e, tandis que les variables CGI/SSI
-      standards <code>SCRIPT_NAME</code> et
-      <code>SCRIPT_FILENAME</code> contiennent l'adresse
-      <em>physique</em> de la ressource vue du syst&egrave;me. </p>
-
-      <p>Note : ces variables conservent l'URI/URL <em>telle qu'elle
-      &eacute;tait &agrave; l'arriv&eacute;e de la requ&ecirc;te</em>, c'est &agrave; dire
-      <em>avant</em> tout processus de r&eacute;&eacute;criture. Il est important de
-      le savoir car le processus de r&eacute;&eacute;criture est principalement
-      utilis&eacute; pour r&eacute;&eacute;crire des URLs logiques en chemins physiques.
-      <br />
-      Ces variables sont d&eacute;finies dans un contexte du niveau serveur, ce
-      qui signifie qu'elles ne sont disponibles que dans un contexte de
-      r&eacute;pertoire, si <directive>RewriteEngine</directive> est positionn&eacute; &agrave;
-      <code>on</code> dans un contexte de niveau serveur.</p>
-
-
-<example><title>Exemple</title>
-<pre>
-SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
-SCRIPT_FILENAME=/u/rse/.www/index.html
-SCRIPT_URL=/u/rse/
-SCRIPT_URI=http://en1.engelschall.com/u/rse/
-</pre>
-</example>
-
-</section>
-
-<section id="vhosts"><title>R&eacute;&eacute;criture et h&ocirc;tes virtuels</title>
-
-     <p>Par d&eacute;faut, les h&ocirc;tes virtuels n'h&eacute;ritent pas de la
-     configuration de <module>mod_rewrite</module> telle qu'elle est
-     d&eacute;finie dans le contexte du serveur principal. Pour que la
-     configuration du serveur principal s'applique aux h&ocirc;tes virtuels,
-     vous devez ins&eacute;rez les directives suivantes dans chaque section
-     <directive
-     module="core" type="section">VirtualHost</directive> :</p>
-
-     <example>
-     RewriteEngine On<br />
-     RewriteOptions Inherit
-     </example>
-</section>
-
-<section id="Solutions"><title>Solutions pratiques</title>
+<section id="logging"><title>Journalisation</title>
+
+    <p><module>mod_rewrite</module> offre une journalisation d&eacute;taill&eacute;e
+    de ses actions aux niveaux de journalisation <code>trace1</code> &agrave;
+    <code>trace8</code>. Le niveau de journalisation peut &ecirc;tre d&eacute;fini de
+    mani&egrave;re sp&eacute;cifique &agrave; <module>mod_rewrite</module> via la directive
+    <directive module="core">LogLevel</directive> : jusqu'au niveau
+    <code>debug</code> aucune action n'est journalis&eacute;e, alors qu'elles
+    le sont pratiquement toutes au niveau <code>trace8</code>.</p>
+
+    <note>
+      L'utilisation d'un niveau de journalisation &eacute;lev&eacute; pour
+      <module>mod_rewrite</module> va ralentir votre serveur HTTP Apache
+      de mani&egrave;re dramatique ! N'utilisez un niveau de journalisation
+      sup&eacute;rieur &agrave; <code>trace2</code> qu'&agrave; des fins de d&eacute;bogage !
+    </note>
+
+    <example><title>Exemple</title>
+    <highlight language="config">
+      LogLevel alert rewrite:trace3
+      </highlight>
+    </example>
+
+    <note><title>RewriteLog</title>
+      <p>Ceux qui sont familiers avec les versions pr&eacute;c&eacute;dentes de
+      <module>mod_rewrite</module> vont probablement rechercher en vain les
+      directives <code>RewriteLog</code> et
+      <code>RewriteLogLevel</code>. Elles ont &eacute;t&eacute; en effet remplac&eacute;es
+      par une configuration de la journalisation par module, comme
+      mentionn&eacute; plus haut.
+      </p>
 
-    <p>Vous trouverez de nombreux exemples d'utilisation courante (et
-    moins courante) de mod_rewrite dans le
-    <a href="../rewrite/rewrite_guide.html">Guide de r&eacute;&eacute;criture</a>,
-    et dans le
-    <a href="../rewrite/rewrite_guide_advanced.html"
-    >Guide de r&eacute;&eacute;criture avanc&eacute;e</a>.</p>
+      <p>Pour extraire les traces sp&eacute;cifiques &agrave;
+      <module>mod_rewrite</module>, affichez le fichier journal en
+      redirigeant la sortie vers grep :</p>
+    <example>
+    tail -f error_log|fgrep '[rewrite:'
+    </example>
+    </note>
 
 </section>
 
@@ -158,9 +122,10 @@ moteur de r&eacute;&eacute;criture</description>
       mettra pas &agrave; jour les variables d'environnement
       <code>SCRIPT_URx</code>.</p>
 
-      <p>Pour d&eacute;sactiver le module, il vaut mieux utiliser cette
-      directive que commenter toutes les directives <directive
-      module="mod_rewrite">RewriteRule</directive> !</p>
+      <p>Plut&ocirc;t que de commenter toutes les directives <directive
+      module="mod_rewrite">RewriteRule</directive>, il est pr&eacute;f&eacute;rable
+      d'utiliser cette directive si l'on souhaite d&eacute;sactiver les
+      r&egrave;gles de r&eacute;&eacute;criture dans un contexte particulier.</p>
 
       <p>Notez que les  h&ocirc;tes virtuels n'h&eacute;ritent pas des
       configurations de r&eacute;&eacute;criture. Ceci implique que vous devez
@@ -186,8 +151,6 @@ pour le moteur de r&eacute;&eacute;criture</description>
 <contextlist><context>server config</context><context>virtual host</context>
 <context>directory</context><context>.htaccess</context></contextlist>
 <override>FileInfo</override>
-<compatibility><code>MaxRedirects</code> n'est plus disponible depuis
-la version version 2.1</compatibility>
 <usage>
 
       <p>La directive <directive>RewriteOptions</directive> d&eacute;finit
@@ -196,8 +159,10 @@ la version version 2.1</compatibility>
       ne peut actuellement prendre qu'une des valeurs suivantes :</p>
 
       <dl>
-      <dt><code>inherit</code></dt>
-      <dd>Ceci force la configuration locale &agrave; h&eacute;riter de la
+      <dt><code>Inherit</code></dt>
+      <dd>
+
+      <p>Ceci force la configuration locale &agrave; h&eacute;riter de la
       configuration du niveau sup&eacute;rieur. Dans le contexte des h&ocirc;tes
       virtuels, cela signifie que les correspondances, conditions et
       r&egrave;gles du serveur principal sont h&eacute;rit&eacute;es. Dans le contexte des
@@ -208,113 +173,142 @@ la version version 2.1</compatibility>
       copi&eacute;es dans la section o&ugrave; cette directive est utilis&eacute;e. Si elles
       sont utilis&eacute;es avec des r&egrave;gles locales, les r&egrave;gles h&eacute;rit&eacute;es sont
       plac&eacute;es apr&egrave;s ces derni&egrave;res. La place de cette directive - avant
-      ou apr&egrave;s les r&egrave;gles locales - n'a aucune influance sur ce
+      ou apr&egrave;s les r&egrave;gles locales - n'a aucune influence sur ce
       comportement. Si des r&egrave;gles locales ont forc&eacute; l'arr&ecirc;t de la
-      r&eacute;&eacute;criture, les r&egrave;gles h&eacute;rit&eacute;es ne seront pas trait&eacute;es.
-      </dd>
-      </dl>
-</usage>
-
-</directivesynopsis>
-
-<directivesynopsis>
-<name>RewriteLog</name>
-<description>D&eacute;finit le nom du fichier utilis&eacute; pour la journalisation
-des traitements du moteur de r&eacute;&eacute;criture</description>
-<syntax>RewriteLog <em>chemin du fichier journal</em></syntax>
-<contextlist><context>server config</context><context>virtual host</context>
-</contextlist>
-
-<usage>
-      <p>La directive <directive>RewriteLog</directive> d&eacute;finit le nom
-      du fichier dans lequel le serveur journalise tout processus de
-      r&eacute;&eacute;criture qu'il effectue. Si le nom ne commence pas par un
-      slash ('<code>/</code>'), il est consid&eacute;r&eacute; comme relatif &agrave; la
-      <em>Racine du serveur</em>. Cette directive ne doit appara&icirc;tre
-      qu'une seule fois dans la configuration du serveur.</p>
-
-<note>    Il est d&eacute;conseill&eacute; de positionner
-       <em>chemin du fichier journal</em> &agrave; <code>/dev/null</code>
-       pour d&eacute;sactiver la journalisation des processus de r&eacute;&eacute;criture,
-       car m&ecirc;me si le moteur de r&eacute;&eacute;criture n'envoie plus sa sortie
-       dans un fichier, il continue &agrave; cr&eacute;er un fichier journal en
-       interne, <strong>ce qui va avoir pour effet de ralentir le
-       serveur sans fournir aucun avantage &agrave; l'administrateur !
-       </strong> Pour d&eacute;sactiver la journalisation, vous pouvez
-       soit supprimer (ou commenter) la directive
-       <directive>RewriteLog</directive>, soit utiliser
-       <code>RewriteLogLevel 0</code> !
-</note>
+      r&eacute;&eacute;criture, les r&egrave;gles h&eacute;rit&eacute;es ne seront pas trait&eacute;es.</p>
 
-<note type="securitywarning"><title>S&eacute;curit&eacute;</title>
+      <note type="warning">
+      Les r&egrave;gles h&eacute;rit&eacute;es du niveau parent sont appliqu&eacute;es
+      <strong>after</strong> apr&egrave;s les r&egrave;gles sp&eacute;cifi&eacute;es dans le niveau
+      enfant.
+      </note>
+      </dd>
 
-Se r&eacute;f&eacute;rer au document
-<a href="../misc/security_tips.html">Conseils &agrave; propos
-de la s&eacute;curit&eacute; dans Apache</a> pour plus de d&eacute;tails sur la mani&egrave;re
-dont votre s&eacute;curit&eacute; pourrait &ecirc;tre compromise si le r&eacute;pertoire o&ugrave; se
-trouvent les fichiers journaux est accessible en &eacute;criture par quiconque
-autre que l'utilisateur qui d&eacute;marre le serveur.
-</note>
+      <dt><code>InheritBefore</code></dt>
+      <dd>
+      <p>M&ecirc;me effet que l'option <code>Inherit</code> ci-dessus, mais
+      les r&egrave;gles sp&eacute;cifi&eacute;es dans le niveau parent s'appliquent
+      <strong>avant</strong> les r&egrave;gles sp&eacute;cifi&eacute;es dans le niveau
+      enfant.<br />
+      Disponible depuis la version 2.3.10 du serveur HTTP Apache.</p>
+      </dd>
 
-<example><title>Exemple</title>
-RewriteLog "/usr/local/var/apache/logs/rewrite.log"
-</example>
+      <dt><code>InheritDown</code></dt>
+      <dd>
+
+      <p>Si cette option est activ&eacute;e, toutes les configurations enfants
+      h&eacute;riteront de la configuration courante. Il en est de m&ecirc;me si l'on
+      sp&eacute;cifie <code>RewriteOptions Inherit</code> dans toutes les
+      configurations enfants. Voir l'option <code>Inherit</code> pour
+      plus de d&eacute;tails &agrave; propos de la mani&egrave;re dont les relations
+      parent-enfants sont trait&eacute;es.<br />
+      Cette option est disponible &agrave; partir
+      de la version 2.4.8 du serveur HTTP Apache.</p>
+      </dd>
 
-</usage>
+      <dt><code>InheritDownBefore</code></dt>
+      <dd>
 
-</directivesynopsis>
-
-<directivesynopsis>
-<name>RewriteLogLevel</name>
-<description>D&eacute;finit la verbosit&eacute; du fichier journal utilis&eacute;
-par le moteur de r&eacute;&eacute;criture</description>
-<syntax>RewriteLogLevel <em>niveau</em></syntax>
-<default>RewriteLogLevel 0</default>
-<contextlist><context>server config</context><context>virtual host</context>
-</contextlist>
+      <p>L'effet de cette option est &eacute;quivalent &agrave; celui de l'option
+      <code>InheritDown</code> ci-dessus, mais les r&egrave;gles de la
+      configuration parente s'appliquent <strong>avant</strong> toute
+      r&egrave;gle de la configuration enfant.<br />
+      Cette option est disponible &agrave; partir
+      de la version 2.4.8 du serveur HTTP Apache.</p>
+      </dd>
 
-<usage>
-      <p>La directive <directive>RewriteLogLevel</directive> d&eacute;finit
-      le niveau de verbosit&eacute; du fichier journal de r&eacute;&eacute;criture. Le
-      niveau par d&eacute;faut 0 signifie aucune journalisation, tandis que
-      9 ou plus signifie que pratiquement toutes les actions sont
-      journalis&eacute;es.</p>
-
-      <p>Pour d&eacute;sactiver la journalisation des actions de r&eacute;&eacute;criture,
-      positionnez simplement <em>niveau</em> &agrave; 0. Ceci d&eacute;sactive
-      toute journalisation des actions de r&eacute;&eacute;criture.</p>
-
-<note> Utiliser une valeur &eacute;lev&eacute;e pour <em>niveau</em> va ralentir
-       consid&eacute;rablement votre serveur Apache ! N'utilisez une
-       journalisation de la r&eacute;&eacute;criture &agrave; un <em>niveau</em>
-       sup&eacute;rieur &agrave; 2 qu'&agrave; des fins de d&eacute;bogage !
-</note>
+      <dt><code>IgnoreInherit</code></dt>
+      <dd>
 
-<example><title>Exemple</title>
-RewriteLogLevel 3
-</example>
+      <p>Si cette option est activ&eacute;e, les configurations courante et
+      enfants ignoreront toute r&egrave;gle h&eacute;rit&eacute;e d'une configuration parente
+      via les options <code>InheritDown</code> ou
+      <code>InheritDownBefore</code>.<br />
+      Cette option est disponible &agrave; partir
+      de la version 2.4.8 du serveur HTTP Apache.</p>
+      </dd>
+      
+      <dt><code>AllowNoSlash</code></dt>
+      <dd>
+      <p>Par d&eacute;faut, <module>mod_rewrite</module> ignore les URLs qui
+      correspondent &agrave; un r&eacute;pertoire sur disque, mais ne comportent pas
+      de slash final, afin que le module <module>mod_dir</module>
+      redirige le client vers l'URL canonique avec un slash final.</p>
+      
+      <p>Lorsque la directive <directive
+      module="mod_dir">DirectorySlash</directive> est d&eacute;finie &agrave; off, il
+      est possible de sp&eacute;cifier l'option <code>AllowNoSlash</code> pour
+      s'assurer que les r&egrave;gles de r&eacute;&eacute;criture ne soient plus ignor&eacute;es.
+      Si on le souhaite, cette option permet de faire s'appliquer des
+      r&egrave;gles de r&eacute;&eacute;criture qui correspondent &agrave; un r&eacute;pertoire sans slash
+      final au sein de fichiers .htaccess.<br />
+      Elle est disponible &agrave;
+      partir de la version 2.4.0 du serveur HTTP Apache.</p>
+      </dd>
 
-</usage>
+      <dt><code>AllowAnyURI</code></dt>
+      <dd>
+
+      <p>A partir de la version 2.2.22 de httpd, lorsqu'une directive <directive
+      module="mod_rewrite">RewriteRule</directive> se situe dans un
+      contexte de <code>serveur virtuel</code> ou de serveur principal,
+      <module>mod_rewrite</module> ne traitera les r&egrave;gles de r&eacute;&eacute;criture
+      que si l'URI de la requ&ecirc;te respecte la syntaxe d'un <a
+      href="directive-dict.html#Syntax">chemin URL</a>. Ceci permet
+      d'&eacute;viter certains probl&egrave;mes de s&eacute;curit&eacute; o&ugrave; des r&egrave;gles
+      particuli&egrave;res pourraient permettre  des d&eacute;veloppements de mod&egrave;les
+      inattendus (voir <a
+      href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a>
+      et <a
+      href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4317">CVE-2011-4317</a>).
+      Pour s'affranchir de la restriction relative &agrave; la syntaxe des chemins URL, on peut
+      utiliser l'option <code>AllowAnyURI</code>, afin de permettre &agrave;
+      <module>mod_rewrite</module> d'appliquer le jeu de r&egrave;gles &agrave; toute
+      cha&icirc;ne de requ&ecirc;te URI, sans v&eacute;rifier si cette derni&egrave;re respecte la
+      grammaire des chemins URL d&eacute;finie dans la sp&eacute;cification HTTP.<br />
+      Disponible depuis la version 2.4.3 du serveur HTTP Apache.</p>
+
+      <note type="warning">
+      <title>Avertissement &agrave; propos de la s&eacute;curit&eacute;</title> 
+
+      <p>L'utilisation de cette option rendra le serveur vuln&eacute;rable &agrave;
+      certains probl&egrave;mes de s&eacute;curit&eacute; si les r&egrave;gles de r&eacute;&eacute;critures
+      concern&eacute;es n'ont pas &eacute;t&eacute; r&eacute;dig&eacute;es avec soin. Il est par cons&eacute;quent
+      <strong>fortement recommand&eacute;</strong> de ne pas utiliser cette
+      option. En particulier, pr&ecirc;tez attention aux cha&icirc;nes en entr&eacute;e contenant le
+      caract&egrave;re '<code>@</code>', qui peuvent modifier l'interpr&eacute;tation
+      de l'URI r&eacute;&eacute;crite, comme indiqu&eacute; dans les liens ci-dessus.</p>
+      </note>
+      </dd>
 
-</directivesynopsis>
+      <dt><code>MergeBase</code></dt>
+      <dd>
+
+      <p>Avec cette option, la valeur de la directive <directive
+      module="mod_rewrite">RewriteBase</directive> est recopi&eacute;e depuis
+      une valeur explicitement d&eacute;finie dans tout sous-r&eacute;pertoire qui ne
+      d&eacute;finit pas sa propre directive <directive
+      module="mod_rewrite">RewriteBase</directive>. Il s'agissait du
+      comportement par d&eacute;faut avec les versions 2.4.0 &agrave; 2.4.3, et ce
+      drapeau qui permet de retrouver ce comportement est disponible
+      depuis la version 2.4.4 du serveur HTTP Apache.</p>
+      </dd>
 
-<directivesynopsis>
-<name>RewriteLock</name>
-<description>D&eacute;finit le nom du fichier verrou utilis&eacute; pour la
-synchronisation de <directive
-module="mod_rewrite">RewriteMap</directive></description>
-<syntax>RewriteLock <em>chemin du fichier verrou</em></syntax>
-<contextlist><context>server config</context></contextlist>
+      <dt><code>IgnoreContextInfo</code></dt>
+      <dd>
+
+      <p>Lors d'une
+      substitution relative dans un contexte de r&eacute;pertoire (htaccess),
+      et si la directive <directive
+      module="mod_rewrite">RewriteBase</directive> n'a pas &eacute;t&eacute; d&eacute;finie,
+      ce module utilise des informations en provenance d'une extension
+      d'URL et du contexte du syst&egrave;me de fichiers pour transformer la
+      sustitution relative en URL. Par exemple, les modules
+      <module>mod_userdir</module> et <module>mod_alias</module>
+      utilisent ces informations de contexte &eacute;tendu.</p>
+      </dd>
 
-<usage>
-      <p>Cette directive d&eacute;finit le nom du fichier utilis&eacute; comme
-      fichier verrou de synchronisation n&eacute;cessaire &agrave; mod_rewrite pour
-      communiquer avec les <em>programmes</em> li&eacute;s &agrave; <directive
-      module="mod_rewrite">RewriteMap</directive>. D&eacute;finissez ce
-      fichier verrou dans un chemin local (et non sur un montage NFS)
-      si vous voulez utiliser un programme de comparaison pour la
-      r&eacute;&eacute;criture. Il n'est pas n&eacute;cessaire pour les autres types de
-      comparaison pour la r&eacute;&eacute;criture.</p>
+      </dl>
 </usage>
 
 </directivesynopsis>
@@ -323,13 +317,10 @@ module="mod_rewrite">RewriteMap</directive></description>
 <name>RewriteMap</name>
 <description>D&eacute;finit une fonction de mise en correspondance pour la
 recherche de mots-cl&eacute;s</description>
-<syntax>RewriteMap <em>nom de la correspondance</em> <em>type de
-correspondance</em>:<em>source de la correspondance</em>
+<syntax>RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em> <em>MapTypeOptions</em>
 </syntax>
 <contextlist><context>server config</context><context>virtual host</context>
 </contextlist>
-<compatibility>Il est possible de choisir entre plusieurs types de
-bases de donn&eacute;es depuis la version 2.0.41 d'Apache</compatibility>
 
 <usage>
       <p>La directive <directive>RewriteMap</directive> d&eacute;finit une
@@ -340,295 +331,88 @@ bases de donn&eacute;es depuis la version 2.0.41 d'Apache</compatibility>
       La source utilis&eacute;e pour cette recherche peut &ecirc;tre de plusieurs
       types.</p>
 
-      <p><a id="mapfunc" name="mapfunc"><em>nom de la
-      correspondance</em></a> est le nom de la table de correspondance
+      <p><a id="mapfunc" name="mapfunc"><em>MapName</em></a> est le nom de la table de correspondance
       et servira &agrave; sp&eacute;cifier une fonction de mise en correspondance
       pour les cha&icirc;nes de substitution d'une r&egrave;gle de r&eacute;&eacute;criture selon
       une des constructions suivantes :</p>
 
       <p class="indent">
-        <strong><code>${</code> <em>nom de la
-      correspondance</em> <code>:</code>
+        <strong><code>${</code> <em>MapName</em> <code>:</code>
         <em>mot-cl&eacute;</em> <code>}</code><br />
-         <code>${</code> <em>nom de la
-      correspondance</em> <code>:</code>
+         <code>${</code> <em>MapName</em> <code>:</code>
         <em>mot-cl&eacute;</em> <code>|</code> <em>valeur par d&eacute;faut</em>
         <code>}</code></strong>
       </p>
 
       <p>Lorsqu'une telle construction est rencontr&eacute;e, la table de
-      correspondance <em>Nom de la correspondance</em> est consult&eacute;e
+      correspondance <em>MapName</em> est consult&eacute;e
       et la cl&eacute; <em>mot-cl&eacute;</em> recherch&eacute;e. Si la cl&eacute; est trouv&eacute;e, la
       construction est remplac&eacute;e par
       la <em>valeur de remplacement</em>. Si la cl&eacute; n'est pas trouv&eacute;e,
       elle est remplac&eacute;e par la <em>valeur par d&eacute;faut</em>, ou par une
       cha&icirc;ne vide si aucune <em>valeur par d&eacute;faut</em> n'est
-      sp&eacute;cifi&eacute;e.</p>
+      sp&eacute;cifi&eacute;e. La valeur vide se comporte comme si la
+      cl&eacute; &eacute;tait absente ; il est donc impossible de distinguer une
+      valeur vide d'une absence de cl&eacute;.</p>
 
       <p>Par exemple, vous pouvez d&eacute;finir une directive
       <directive>RewriteMap</directive> comme suit </p>
 
-      <example>
+      <highlight language="config">
       RewriteMap map-exemple txt:/chemin/vers/fichier/map.txt
-      </example>
+      </highlight>
 
       <p>Vous pourrez ensuite utiliser cette table dans une
       directive <directive>RewriteRule</directive> comme suit :</p>
 
-      <example>
+      <highlight language="config">
       RewriteRule ^/ex/(.*) ${map-exemple:$1}
-      </example>
+      </highlight>
+
+      <p>La signification de l'argument <em>MapTypeOptions</em> d&eacute;pend du <em>MapType</em>
+      sp&eacute;cifi&eacute;. Veuillez vous r&eacute;f&eacute;rer au document <a
+      href="../rewrite/rewritemap.html">Utiliser RewriteMap</a> pour
+      plus de d&eacute;tails.</p>
 
       <p>Les combinaisons suivantes pour <em>type de correspondance</em>
-      et <em>source de la correspondance</em>
+      et <em>MapSource</em>
       peuvent &ecirc;tre utilis&eacute;es :</p>
 
-      <ul>
-        <li>
-          <strong>Format texte standard</strong><br />
-           type de correspondance : <code>txt</code>, source de la
-          correspondance : chemin du syst&egrave;me de fichiers Unix vers un
-          fichier r&eacute;gulier valide
-
-          <p>Il s'agit de la mise en oeuvre standard de la table de
-         correspondance pour la r&eacute;&eacute;criture o&ugrave; la
-         <em>source de la correspondance</em> est un fichier ASCII
-         dont les diff&eacute;rentes lignes sont soit des lignes vides, soit
-         des lignes de commentaires (commen&ccedil;ant par un caract&egrave;re "#"),
-         soit des paires de valeurs (une seule paire
-         par ligne) comme suit :</p>
-
-          <p class="indent">
-            <strong><em>mot-cl&eacute;</em>
-            <em>valeur de remplacement</em></strong>
-          </p>
-
-<example><title>Exemple</title>
-<pre>
-##
-##  map.txt -- table de correspondance pour la r&eacute;&eacute;criture
-##
-
-Ralf.S.Engelschall    rse   # Bastard Operator From Hell
-Mr.Joe.Average        joe   # Mr. Average
-</pre>
-</example>
-
-<example>
-RewriteMap real-to-user txt:/chemin/vers/fichier/map.txt
-</example>
-        </li>
-
-        <li>
-          <strong>Format texte avec valeurs al&eacute;atoires</strong><br />
-           type de correspondance: <code>rnd</code>,
-          source de la correspondance : chemin du syst&egrave;me de fichiers
-          Unix vers un fichier r&eacute;gulier valide
-
-          <p>Ce format se diff&eacute;rencie du format texte standard
-         pr&eacute;c&eacute;dent par l'ajout d'un traitement suppl&eacute;mentaire : en
-         plus de la recherche de cl&eacute;s, le fichier est interpr&eacute;t&eacute; en
-         tenant compte de la pr&eacute;sence &eacute;ventuelle dans les valeurs de
-         remplacement de caract&egrave;res ``<code>|</code>'' signifiant
-         ``ou''. En d'autres termes, ces caract&egrave;res ``<code>|</code>''
-         permettent de sp&eacute;cifier un jeu de valeurs parmi lesquelles
-         la valeur de retour sera choisie al&eacute;atoirement. Par exemple,
-         vous pouvez utiliser les fichier de correspondance et
-         directives suivants pour mettre en oeuvre une r&eacute;partition de
-         charge al&eacute;atoire entre plusieurs serveurs en arri&egrave;re-plan,
-         via un mandataire inverse. Les images sont envoy&eacute;es &agrave; un des
-         serveurs de l'ensemble "statique", tandis que tout le
-         reste est envoy&eacute; &agrave; un des serveurs de l'ensemble
-         "dynamique".</p>
-          <p>Exemple:</p>
-
-<example><title>Fichier de correspondances pour la r&eacute;&eacute;criture</title>
-<pre>
-##
-##  map.txt -- correspondances pour la r&eacute;&eacute;criture
-##
-
-static   www1|www2|www3|www4
-dynamic  www5|www6
-</pre>
-</example>
-
-<example><title>Directives de configuration</title>
-RewriteMap serveurs rnd:/chemin/vers/fichier/map.txt<br />
-<br />
-RewriteRule ^/(.*\.(png|gif|jpg)) http://${serveurs:static}/$1
-[NC,P,L]<br />
-RewriteRule ^/(.*) http://${serveurs:dynamic}/$1 [P,L]
-</example>
-        </li>
-
-        <li>
-          <strong>Fichier &agrave; acc&egrave;s direct (Hash file)</strong><br />
-         type de correspondance :
-         <code>dbm[=<em>type</em>]</code>, source de la
-         correspondance : chemin du syst&egrave;me de fichiers Unix vers un
-          fichier r&eacute;gulier valide
-
-          <p>Ici, la source de la correspondance est un fichier binaire
-         au format DBM contenant les m&ecirc;mes donn&eacute;es qu'un fichier au
-         format <em>Plein texte</em>, mais selon une repr&eacute;sentation
-         particuli&egrave;re optimis&eacute;e en vue d'une recherche tr&egrave;s rapide.
-         Le <em>type</em> peut &ecirc;tre sdbm, gdbm, ndbm, ou db selon la
-         configuration &agrave; la <a href="../install.html#dbm">compilation
-          </a>. Si <em>type</em> est omis, la valeur retenue
-         sera la valeur par d&eacute;faut d&eacute;finie &agrave; la compilation.</p>
-
-          <p>La cr&eacute;ation du fichier dbm &agrave; partir d'un fichier texte
-         s'effectue &agrave; l'aide de l'utilitaire <a
-          href="../programs/httxt2dbm.html">httxt2dbm</a>.</p>
-
-<example>
-$ httxt2dbm -i fichier-source.txt -o fichier-dbm.map
-</example>
-        </li>
-
-        <li>
-          <strong>Fonction interne</strong><br />
-           type de la correspondance : <code>int</code>,
-          source de la correspondance : fonction interne &agrave; Apache
-
-          <p>Ici, la source de la correspondance est une fonction
-         interne &agrave; Apache. Actuellement, vous ne pouvez pas cr&eacute;er
-         votre propre fonction, mais les fonctions suivantes
-         existent d&eacute;j&agrave; :</p>
-
-          <ul>
-            <li><strong>toupper</strong>:<br />
-             Convertit tous les caract&egrave;res de la cl&eacute; en majuscules.</li>
-
-            <li><strong>tolower</strong>:<br />
-             Convertit tous les caract&egrave;res de la cl&eacute; en minuscules.</li>
-
-            <li><strong>escape</strong>:<br />
-             Traduit les caract&egrave;res sp&eacute;ciaux que contient la cl&eacute; en
-            s&eacute;quences hexad&eacute;cimales.</li>
-
-            <li><strong>unescape</strong>:<br />
-             Reconvertit les s&eacute;quences hexad&eacute;cimales que contient la
-            cl&eacute; en caract&egrave;res sp&eacute;ciaux.</li>
-          </ul>
-        </li>
-
-        <li>
-          <strong>Programme de r&eacute;&eacute;criture externe</strong><br />
-           type de la correspondance : <code>prg</code>,
-          source de la correspondance :
-          chemin du syst&egrave;me de fichiers Unix vers un
-          fichier r&eacute;gulier valide
-
-          <p>Ici, la source n'est pas un fichier de correspondances,
-         mais un programme. Pour le cr&eacute;er, vous pouvez utiliser le
-         langage de votre choix, mais le programme doit &ecirc;tre un
-         ex&eacute;cutable (soit du code objet, soit un script
-         contenant le fameux
-         "<code>#!/chemin/vers/interpr&eacute;teur</code>" au d&eacute;but de sa
-         premi&egrave;re ligne).</p>
-
-         <p>Ce programme est lanc&eacute; une seule fois au d&eacute;marrage du
-        serveur Apache, puis communique avec le moteur de r&eacute;&eacute;criture
-        via ses entr&eacute;e et sortie standards (<code>stdin</code>
-        et <code>stdout</code>). A chaque recherche effectu&eacute;e par la
-        fonction de correspondance, il re&ccedil;oit sur son entr&eacute;e standard
-        la cl&eacute; &agrave; rechercher sous la forme d'une cha&icirc;ne de caract&egrave;res
-        termin&eacute;e par le caract&egrave;re "nouvelle ligne". Il doit ensuite
-        renvoyer sur sa sortie standard la valeur recherch&eacute;e sous
-        la forme d'une cha&icirc;ne de caract&egrave;res termin&eacute;e par le caract&egrave;re
-        "nouvelle ligne", ou la cha&icirc;ne de quatre
-        caract&egrave;res ``<code>NULL</code>'' en cas d'&eacute;chec
-        (<em>c'est &agrave; dire</em>
-        si aucune valeur ne correspond &agrave; la cl&eacute; fournie).</p>
-
-        <p>Les programmes de r&eacute;&eacute;criture externes ne seront pas lanc&eacute;s
-        s'ils ont &eacute;t&eacute; d&eacute;finis dans un contexte o&ugrave; la directive
-        <directive>RewriteEngine</directive> n'a pas &eacute;t&eacute; d&eacute;finie &agrave;
-        <code>on</code>.</p>
-
-        <p>Voici un
-        exemple de ce pourrait &ecirc;tre un programme trivial qui
-        impl&eacute;menterait une correspondance 1:1 (<em>c'est &agrave; dire</em>,
-        cl&eacute; == valeur) :</p>
-
-<example>
-<pre>
-#!/usr/bin/perl
-$| = 1;
-while (&lt;STDIN&gt;) {
-    # ...ins&eacute;rer ici le code de transformation ou de recherche...
-    print $_;
-}
-</pre>
-</example>
-
-          <p>Mais soyez tr&egrave;s prudent :</p>
-
-          <ol>
-            <li>``<em>Ce programme doit &ecirc;tre simple, basique</em>''
-           (MERCI).
-           Si ce programme se bloque, il bloquera aussi Apache
-           lorsqu'il tentera d'utiliser la r&egrave;gle de r&eacute;&eacute;criture
-           correspondante.</li>
-
-            <li>L'utilisation d'entr&eacute;es/sorties avec tampon sur
-           <code>stdout</code> est une erreur courante. Ceci est &agrave;
-           proscrire sous peine de cr&eacute;er une boucle infernale ! Pour
-           &eacute;viter ceci, on utilise (en langage Perl) ``<code>$|=1</code>'' comme dans
-           l'exemple ci-dessus.</li>
-
-            <li>On peut d&eacute;finir la directive <directive
-           module="mod_rewrite">RewriteLock</directive> pour sp&eacute;cifier
-           un fichier verrou que mod_rewrite pourra utiliser pour
-           synchroniser les communications avec le programme de
-           correspondance. Par d&eacute;faut, aucune synchronisation de ce
-           type n'est mise en oeuvre.</li>
-          </ol>
-        </li>
-        <li>
-          <p><strong>Requ&ecirc;te SQL</strong><br />
-           type de correspondance : <code>dbd</code> ou
-          <code>fastdbd</code>,
-           source de la correspondance : une requ&ecirc;te SQL SELECT qui
-          comporte un seul argument et renvoie une seule valeur.</p>
-          <p>Ici, on utilise <module>mod_dbd</module> pour impl&eacute;menter
-         une correspondance pour la r&eacute;&eacute;criture par recherche dans une
-         base de donn&eacute;es SQL. Deux modes sont possibles :
-         <code>fastdbd</code> met en cache les recherches dans la base
-         de donn&eacute;es en interne, alors que <code>dbd</code> ne le fait
-         pas. Ainsi, <code>dbd</code> diminue les performances, mais
-         donnera toujours une r&eacute;ponse actualis&eacute;e, m&ecirc;me si le contenu
-         de la base de donn&eacute;es est mise &agrave; jour, alors que
-         <code>fastdbd</code> est plus performant mais ne relira pas
-         le contenu de la base de donn&eacute;es tant que le serveur ne sera
-         pas red&eacute;marr&eacute;.</p>
-          <p>Si une requ&ecirc;te renvoie plusieurs r&eacute;ponses, une de ces
-         derni&egrave;res sera choisie al&eacute;atoirement.</p>
-<example>
-<title>Example</title>
-RewriteMap ma-requete "fastdbd:SELECT destination FROM rewrite WHERE source = %s"
-</example>
-        </li>
-      </ul>
-      <p>La directive <directive>RewriteMap</directive> peut
-      appara&icirc;tre plusieurs fois. Utilisez une directive
-      <directive>RewriteMap</directive> par fonction de correspondance
-      pour d&eacute;clarer son fichier de correspondance pour la r&eacute;&eacute;criture.
-      Bien que vous ne puissiez pas <strong>d&eacute;clarer</strong> une
-      table de correspondance dans un contexte de r&eacute;pertoire, vous
-      pouvez bien entendu <strong>utiliser</strong> cette table dans un
-      contexte de r&eacute;pertoire. </p>
-
-<note><title>Note</title> En ce qui concerne les fichiers au format DBM
-et texte plat, les cl&eacute;s de recherches sont mises en cache en interne
-jusqu'&agrave; ce que le <code>mtime (date de modification)</code> du fichier
-soit modifi&eacute;, ou que le serveur soit red&eacute;marr&eacute;. Ainsi, certaines
-fonctions de correspondance dans les r&egrave;gles peuvent &ecirc;tre utilis&eacute;es pour
-<strong>chaque</strong> requ&ecirc;te. Cela ne pose pas probl&egrave;me, car la
-recherche externe n'intervient qu'une seule fois !
-</note>
+<dl>
+    <dt>txt</dt>
+        <dd>Un fichier texte contenant des paires cl&eacute;-valeur s&eacute;par&eacute;es
+       par des espaces, une paire par ligne (<a
+       href="../rewrite/rewritemap.html#txt">D&eacute;tails ...</a>).</dd>
+
+    <dt>rnd</dt>
+        <dd>S&eacute;lection al&eacute;atoire d'une entr&eacute;e depuis un fichier texte (<a
+       href="../rewrite/rewritemap.html#rnd">D&eacute;tails ...</a>).</dd>
+
+    <dt>dbm</dt>
+        <dd>Recherche une entr&eacute;e dans un fichier dbm contenant des
+       paires nom-valeur. Le condens&eacute; hash est &eacute;labor&eacute; &agrave; partir d'un
+       format de fichier texte via l'utilitaire <code><a
+       href="../programs/httxt2dbm.html">httxt2dbm</a></code> (<a
+       href="../rewrite/rewritemap.html#dbm">D&eacute;tails ...</a>).</dd>
+
+    <dt>int</dt>
+        <dd>Une des quatre fonctions internes disponibles que fournit
+       <code>RewriteMap</code>: toupper, tolower, escape ou unescape
+       (<a href="../rewrite/rewritemap.html#int">D&eacute;tails ...</a>).</dd>
+
+    <dt>prg</dt>
+        <dd>Appelle un programme externe ou un script pour effectuer la
+       r&eacute;&eacute;criture (<a href="../rewrite/rewritemap.html#prg">D&eacute;tails
+       ...</a>).</dd>
+
+    <dt>dbd or fastdbd</dt>
+        <dd>Une commande SQL SELECT &agrave; ex&eacute;cuter pour rechercher la cible
+       de r&eacute;&eacute;criture (<a href="../rewrite/rewritemap.html#dbd">D&eacute;tails
+       ...</a>).</dd>
+    </dl>
+
+<p>Vous trouverez plus de d&eacute;tails et de nombreux exemples dans le <a
+href="../rewrite/rewritemap.html">RewriteMap HowTo</a>.</p>
 
 </usage>
 </directivesynopsis>
@@ -637,105 +421,56 @@ recherche externe n'intervient qu'une seule fois !
 <name>RewriteBase</name>
 <description>D&eacute;finit l'URL de base pour les r&eacute;&eacute;critures au niveau
 r&eacute;pertoire</description>
-<syntax>RewriteBase <em>chemin URL</em></syntax>
-<default>Voir utilisation pour plus d'informations.</default>
+<syntax>RewriteBase <em>chemin_URL</em></syntax>
+<default>Pas de valeur par d&eacute;faut</default>
 <contextlist><context>directory</context><context>.htaccess</context>
 </contextlist>
 <override>FileInfo</override>
 
 <usage>
-      <p>La directive <directive>RewriteBase</directive> d&eacute;finit
-      explicitement l'URL de base pour les r&eacute;&eacute;critures au niveau du
-      r&eacute;pertoire. Comme vous le verrez plus loin, la directive
-      <directive module="mod_rewrite">RewriteRule</directive> peut
-      &ecirc;tre utilis&eacute;e dans les fichiers de configuration au niveau du
-      r&eacute;pertoire (<code>.htaccess</code>). Elle agit alors localement,
-      en amputant le r&eacute;pertoire local de son pr&eacute;fixe avant traitement,
-      et en n'appliquant les r&egrave;gles de r&eacute;&eacute;criture que sur ce qui reste
-      de l'URL. Lorsque le traitement est termin&eacute;, le pr&eacute;fixe est
-      automatiquement rajout&eacute; &agrave; l'URL. La valeur par d&eacute;faut est
-      <directive>RewriteBase</directive>
-      <em>chemin r&eacute;pertoire physique</em></p>
-
-      <p>Lorsqu'une substitution intervient pour une nouvelle URL, ce
-      module doit r&eacute;injecter l'URL dans le traitement du serveur. Pour
-      y parvenir, il doit conna&icirc;tre le pr&eacute;fixe de l'URL ou l'URL de
-      base correspondants. Par d&eacute;faut, le pr&eacute;fixe est le chemin du
-      fichier correspondant lui-m&ecirc;me. <strong>Cependant, pour la
-      plupart des sites web, les URLs ne correspondent PAS directement
-      aux chemins des fichiers physiques, cette assertion s'av&egrave;re
-      ainsi souvent fausse !</strong>. C'est pourquoi vous pouvez
-      utiliser la directive <code>RewriteBase</code> pour sp&eacute;cifier
-      le pr&eacute;fixe correct.</p>
-
-<note> Si les URLs de votre serveur web ne correspondent
-<strong>pas</strong> directement aux chemins physiques des fichiers,
-vous devrez utiliser <directive>RewriteBase</directive> dans chaque
-fichier <code>.htaccess</code> o&ugrave; vous voudrez utiliser des
-directives <directive
-module="mod_rewrite">RewriteRule</directive>.
-</note>
+      <p>La directive <directive>RewriteBase</directive> permet de
+      sp&eacute;cifier le pr&eacute;fixe d'URL &agrave; utiliser dans un contexte de
+      r&eacute;pertoire (htaccess) pour les directives
+      <directive>RewriteRule</directive> qui r&eacute;&eacute;crivent vers un chemin
+      relatif.</p>
+      <p>Cette directive est <em>obligatoire</em> si vous utilisez un
+      chemin relatif dans une substitution, et dans un contexte de
+      r&eacute;pertoire (htaccess), sauf si au moins une de ces conditions est
+      v&eacute;rifi&eacute;e :</p>
+      <ul>
+          <li>La requ&ecirc;te initiale, ainsi que la substitution, se
+         situent par raport &agrave; la valeur de la directive
+         <directive module="core">DocumentRoot</directive> (c'est &agrave;
+         dire que pour y acc&eacute;der, il n'est pas n&eacute;cessaire d'utiliser
+         une directive telle qu'<directive
+         module="mod_alias">Alias</directive>).</li>
+          <li>Le chemin du syst&egrave;me de fichiers vers le r&eacute;pertoire
+         contenant la <directive>RewriteRule</directive>, suffix&eacute; par
+         la substitution relative est aussi valide en tant qu'URL sur
+         le serveur (ce qui est rare).</li>
+         <li>A partir de la version 2.4.11 du serveur HTTP Apache,
+         cette directive peut &ecirc;tre omise lorsque la requ&ecirc;te est mise en
+         correspondance avec le syst&egrave;me de fichiers via la directive
+         <directive module="mod_alias">Alias</directive> ou le module
+         <module>mod_userdir</module>.</li>
+      </ul>
 
-        <p> Par exemple, consid&eacute;rons le fichier de configuration de
-       r&eacute;pertoire suivant :</p>
-
-<example>
-<pre>
-#
-#  /abc/def/.htaccess -- fichier de configuration pour le r&eacute;pertoire
-/abc/def
-#  Rappel : /abc/def est le chemin physique de /xyz,
-#  <em>ce qui veut dire</em> que la configuration du serveur comporte
-#  une directive du style 'Alias /xyz /abc/def'.
-#
-
-RewriteEngine On
-
-#  faisons savoir au serveur qu'on nous a atteint via /xyz et non par
-#  le chemin physique /abc/def
-RewriteBase   /xyz
-
-#  maintenant les r&egrave;gles de r&eacute;&eacute;criture
-RewriteRule   ^avant\.html$  apr&egrave;s.html
-</pre>
-</example>
-
-        <p>Dans l'exemple pr&eacute;c&eacute;dent, une requ&ecirc;te pour
-       <code>/xyz/avant.html</code> sera correctement r&eacute;&eacute;crite sous
-       sous sa forme chemin physique
-       <code>/abc/def/apr&egrave;s.html</code>.</p>
-
-<note><title>Pour les hackers d'Apache</title>
-<p>La liste suivante fournit des informations d&eacute;taill&eacute;es &agrave; propos des
-&eacute;tapes du traitement interne :</p>
-<pre>
-Requ&ecirc;te :
-  /xyz/avant.html
-
-Traitement interne :
-  /xyz/avant.html     -&gt; /abc/def/avant.html  (Alias au niveau serveur)
-  /abc/def/avant.html -&gt; /abc/def/apr&egrave;s.html  (RewriteRule au niveau r&eacute;pertoire)
-  /abc/def/apr&egrave;s.html -&gt; /xyz/apr&egrave;s.html      (RewriteBase au niveau r&eacute;pertoire)
-  /xyz/apr&egrave;s.html     -&gt; /abc/def/apr&egrave;s.html  (Alias au niveau serveur)
-
-R&eacute;sultat :
-  /abc/def/apr&egrave;s.html
-
-</pre>
-              <p>Tout ceci para&icirc;t tr&egrave;s compliqu&eacute;, mais correspond
-             r&eacute;ellement au traitement interne d'Apache. Comme la
-             r&eacute;&eacute;criture au niveau du r&eacute;pertoire intervient plus tard
-             au cours du traitement, la requ&ecirc;te de r&eacute;&eacute;criture doit &ecirc;tre
-             r&eacute;inject&eacute;e dans le noyau d'Apache, comme s'il s'agissait
-             d'une nouvelle requ&ecirc;te (Voir les <a
-             href="../rewrite/rewrite_tech.html">d&eacute;tails techniques &agrave;
-             propos de mod_rewrite</a>). La surcharge
-             correspondante n'est pas aussi importante qu'il n'y
-             para&icirc;t, car la r&eacute;injection est enti&egrave;rement prise en charge
-             en interne par Apache (comme c'est d'ailleurs le cas pour
-             de nombreuses autres op&eacute;rations effectu&eacute;es &agrave; l'int&eacute;rieur
-             d'Apache).</p>
-</note>
+<p>Dans l'exemple ci-dessous, la directive
+<directive>RewriteBase</directive> est n&eacute;cessaire afin d'&eacute;viter une
+r&eacute;&eacute;criture en http://example.com/opt/myapp-1.2.3/welcome.html car la
+ressource n'&eacute;tait pas relative &agrave; la racine des documents. Cette erreur
+de configuration aurait conduit le serveur &agrave; rechercher un r&eacute;pertoire
+"opt" &agrave; la racine des documents.</p>
+
+<highlight language="config">
+DocumentRoot /var/www/example.com
+AliasMatch ^/myapp /opt/myapp-1.2.3
+&lt;Directory /opt/myapp-1.2.3&gt;
+ RewriteEngine On
+    RewriteBase /myapp/
+    RewriteRule ^index\.html$  welcome.html
+&lt;/Directory&gt;
+</highlight>
 
 </usage>
 
@@ -747,58 +482,56 @@ R&eacute;sultat :
 la r&eacute;&eacute;criture soit effectu&eacute;e
 </description>
 <syntax> RewriteCond
-      <em>cha&icirc;ne de test</em> <em>expression de comparaison</em></syntax>
+      <em>cha&icirc;ne_de_test</em> <em>expression_de_comparaison</em></syntax>
 <contextlist><context>server config</context><context>virtual host</context>
 <context>directory</context><context>.htaccess</context></contextlist>
 <override>FileInfo</override>
 
 <usage>
-      <p>La directive <directive>RewriteCond</directive> d&eacute;finit une
-      condition d'application d'une certaine r&egrave;gle. Une ou plusieurs
-      directives <directive>RewriteCond</directive> peuvent pr&eacute;c&eacute;der
-      une directive
-      <directive module="mod_rewrite">RewriteRule</directive>. La r&egrave;gle
-      qui suit n'est appliqu&eacute;e que si l'&eacute;tat actuel de l'URI
-      correspond &agrave; son mod&egrave;le, <strong
-      >et</strong> si les conditions sont satisfaites.</p>
-
-      <p><em>cha&icirc;ne de test</em> est une cha&icirc;ne de caract&egrave;res qui peut
-      contenir, en plus du texte plat, les constructions &eacute;tendues
-      suivantes :</p>
+      <p>La directive <directive>RewriteCond</directive> permet de d&eacute;finir une
+      condition d'ex&eacute;cution d'une r&egrave;gle. Une ou plusieurs conditions
+      <directive>RewriteCond</directive> peuvent pr&eacute;c&eacute;der une
+      directive <directive module="mod_rewrite"
+      >RewriteRule</directive>. La r&egrave;gle de r&eacute;&eacute;criture correspondante n'est
+      ainsi ex&eacute;cut&eacute;e que si ces conditions sont satisfaites,
+      <strong>et</strong> si l'URI correspond au mod&egrave;le sp&eacute;cifi&eacute; dans la
+      r&egrave;gle.</p>
+
+      <p><em>TestString</em> est une cha&icirc;ne qui peut contenir les
+      extensions suivantes en plus du texte simple :</p>
 
       <ul>
         <li>
           <strong>r&eacute;f&eacute;rences arri&egrave;res de r&egrave;gle de r&eacute;&eacute;criture</strong> :
          ce sont des r&eacute;f&eacute;rences arri&egrave;res de la forme
-         <strong><code>$N</code></strong> (0 &lt;= N &lt;= 9), qui
-         donnent acc&egrave;s aux parties group&eacute;es (entre parenth&egrave;ses) du
-         mod&egrave;le tir&eacute; de la <code>RewriteRule</code> assujettie au
-         jeu de conditions concern&eacute;.
-        </li>
+         <strong><code>$N</code></strong> (0 &lt;= N &lt;= 9). $1 &agrave; $9
+         permettent d'acc&eacute;der aux parties regroup&eacute;es (entre
+         parenth&egrave;ses) du mod&egrave;le, issues de la <code>RewriteRule</code>
+         concern&eacute;e par le jeu de conditions <code>RewriteCond</code>
+         courant. $0 donne acc&egrave;s &agrave; l'ensemble de la cha&icirc;ne
+         correspondant au mod&egrave;le.</li>
         <li>
           <strong>R&eacute;f&eacute;rences arri&egrave;res de condition de r&eacute;&eacute;criture
          </strong> : ce sont des r&eacute;f&eacute;rences arri&egrave;res de la forme
-         <strong><code>%N</code></strong> (1 &lt;= N &lt;= 9), qui
-         donnent acc&egrave;s aux parties group&eacute;es (l&agrave; aussi entre
-         parenth&egrave;ses) du mod&egrave;le de la derni&egrave;re condition satisfaite
-         du jeu de conditions concern&eacute;.
-        </li>
+         <strong><code>%N</code></strong> (0 &lt;= N &lt;= 9). %1 &agrave; %9
+         permettent d'acc&eacute;der aux parties regroup&eacute;es (entre
+         parenth&egrave;ses) du mod&egrave;le, issues de la derni&egrave;re
+         condition <code>RewriteCond</code> satisfaite du jeu de conditions <code>RewriteCond</code>
+         courant. %0 donne acc&egrave;s &agrave; l'ensemble de la cha&icirc;ne
+         correspondant au mod&egrave;le.</li>
         <li>
           <strong>extensions de table de r&eacute;&eacute;criture</strong> :
          ce sont des extensions de la forme <strong><code
-         >${nomTable:cl&eacute;|d&eacute;faut}</code></strong>. Voir
-         <a href="#mapfunc">la documentation de
-          RewriteMap</a> pour plus de d&eacute;tails.
+         >${nomTable:cl&eacute;|d&eacute;faut}</code></strong>. Voir la <a
+         >href="#mapfunc">documentation sur RewriteMap</a>
+          pour plus de d&eacute;tails.
         </li>
         <li>
           <strong>Variables du serveur</strong> :
          ce sont des variables de la forme
-         <strong><code>%{</code> <em>NOM_DE_VARIABLE</em>
-            <code>}</code></strong>
-            <strong><code>%{</code> <em>NOM_DE_VARIABLE</em>
-            <code>}</code></strong> o&ugrave; <em>NOM_DE_VARIABLE</em>
-           peut &ecirc;tre une cha&icirc;ne de caract&egrave;res faisant partie de la
-           liste suivante :
+         <strong><code>%{</code> <em>NAME_OF_VARIABLE</em> <code>}</code></strong>,
+            o&ugrave; <em>NOM_DE_VARIABLE</em> peut contenir une cha&icirc;ne issue
+           de la liste suivante :
 
           <table>
           <columnspec><column width=".3"/><column width=".3"/>
@@ -809,26 +542,30 @@ la r&eacute;&eacute;criture soit effectu&eacute;e
 
             <tr>
              <td>
-                HTTP_USER_AGENT<br />
-                 HTTP_REFERER<br />
+                HTTP_ACCEPT<br />
                  HTTP_COOKIE<br />
                  HTTP_FORWARDED<br />
                  HTTP_HOST<br />
                  HTTP_PROXY_CONNECTION<br />
-                 HTTP_ACCEPT<br />
+                 HTTP_REFERER<br />
+                 HTTP_USER_AGENT<br />
               </td>
 
               <td>
+                 AUTH_TYPE<br />
+                CONN_REMOTE_ADDR<br />
+                CONTEXT_PREFIX<br />
+                 CONTEXT_DOCUMENT_ROOT<br />
+                 IPV6<br />
+                 PATH_INFO<br />
+                 QUERY_STRING<br />
                  REMOTE_ADDR<br />
                  REMOTE_HOST<br />
+                REMOTE_IDENT<br />
                  REMOTE_PORT<br />
                  REMOTE_USER<br />
-                 REMOTE_IDENT<br />
                  REQUEST_METHOD<br />
                  SCRIPT_FILENAME<br />
-                 PATH_INFO<br />
-                 QUERY_STRING<br />
-                 AUTH_TYPE<br />
               </td>
 
              <td></td>
@@ -841,9 +578,11 @@ la r&eacute;&eacute;criture soit effectu&eacute;e
             <tr>
              <td>
                 DOCUMENT_ROOT<br />
+                SCRIPT_GROUP<br />
+                 SCRIPT_USER<br />
+                 SERVER_ADDR<br />
                  SERVER_ADMIN<br />
                  SERVER_NAME<br />
-                 SERVER_ADDR<br />
                  SERVER_PORT<br />
                  SERVER_PROTOCOL<br />
                  SERVER_SOFTWARE<br />
@@ -862,267 +601,423 @@ la r&eacute;&eacute;criture soit effectu&eacute;e
 
               <td>
                  API_VERSION<br />
-                 THE_REQUEST<br />
-                 REQUEST_URI<br />
-                 REQUEST_FILENAME<br />
-                 IS_SUBREQ<br />
+                CONN_REMOTE_ADDR<br />
                  HTTPS<br />
+                IS_SUBREQ<br />
+                REMOTE_ADDR<br />
+                 REQUEST_FILENAME<br />
+                 REQUEST_SCHEME<br />
+                 REQUEST_URI<br />
+                 THE_REQUEST<br />
               </td>
             </tr>
           </table>
 
-                <p>Toutes ces variables correspondent nom pour nom aux
-               en-t&ecirc;tes MIME HTTP, aux variables C du serveur Apache
-               ou aux champs <code>struct tm</code> du syst&egrave;me Unix.
-               La plupart sont document&eacute;es dans une autre partie du
-               manuel ou dans la sp&eacute;cification CGI. Vous trouverez
-               dans ce qui suit quelques variables sp&eacute;cifiques
-               &agrave; mod_rewrite.</p>
-       <note>
+                <p>Ces variables correspondent toutes aux en-t&ecirc;tes MIME
+               HTTP de m&ecirc;mes noms, au variables C du serveur HTTP Apache, ou
+               aux champs <code>struct tm</code> du syst&egrave;me Unix. La
+               plupart d'entre elles sont document&eacute;es <a
+               href="../expr.html#vars">ici</a>, dans la
+               sp&eacute;cification CGI ou ailleurs dans le
+               manuel.</p>
+
+               <p>SERVER_NAME et SERVER_PORT d&eacute;pendent respectivement
+               des valeurs des directives <directive
+               module="core">UseCanonicalName</directive> et <directive
+               module="core">UseCanonicalPhysicalPort</directive>.</p>
+
+               <p>Parmi les variables
+               sp&eacute;cifiques &agrave; mod_rewrite, ou trouve les suivantes :</p>
+        <note>
                 <dl>
-                  <dt><code>IS_SUBREQ</code></dt>
+                  <dt><code>API_VERSION</code></dt>
 
-                  <dd>Contiendra le texte "true" si la requ&ecirc;te en cours
-                 de traitement est une sous-requ&ecirc;te, "false" dans le
-                 cas contraire. Une sous-requ&ecirc;te est g&eacute;n&eacute;r&eacute;e quand un
-                 module a besoin de se r&eacute;f&eacute;rer &agrave; des fichiers ou URIs
-                 addidionnels pour pouvoir mener &agrave; bien sa t&acirc;che.</dd>
+                  <dd>C'est la version de l'API des modules Apache httpd
+                 (l'interface interne entre le serveur et les modules)
+                 pour la construction courante de httpd, telle qu'elle
+                 est d&eacute;finie dans include/ap_mmn.h. La version de l'API
+                 des modules correspond &agrave; la version du serveur Apache
+                 httpd
+                 utilis&eacute; (par exemple, pour la version 1.3.14 d'Apache
+                 httpd,
+                 il s'agit de la version 19990320:10), mais int&eacute;resse
+                 principalement les auteurs de modules.</dd>
 
-                  <dt><code>API_VERSION</code></dt>
+                  <dt><code>CONN_REMOTE_ADDR</code></dt>
 
-                  <dd>Il s'agit de la version de l'API des modules
-                 Apache (l'interface interne entre le serveur et les
-                 modules) dans la construction actuelle de httpd,
-                 telle qu'elle est d&eacute;finie dans include/ap_mmn.h. La
-                 version de l'API des modules correspond &agrave; la version
-                 d'Apache utilis&eacute;e (pour Apache 1.3.14, par exemple,
-                 la version de l'API sera 19990320:10), mais cette
-                 information int&eacute;resse principalement les
-                 d&eacute;veloppeurs de modules.</dd>
+                 <dd>A partir de la version 2.4.8 : l'adresse IP distante de
+                 la connexion (voir le module
+                 <module>mod_remoteip</module>).</dd>
 
-                  <dt><code>THE_REQUEST</code></dt>
+                 <dt><code>HTTPS</code></dt>
 
-                  <dd>La ligne de requ&ecirc;te HTTP compl&egrave;te envoy&eacute;e par le
-                 navigateur au serveur (par exemple, "<code>GET
-                  /index.html HTTP/1.1</code>"), &agrave; l'exclusion de tout
-                 en-t&ecirc;te ajout&eacute; par le navigateur.</dd>
+                  <dd>Contient le texte "on" si la connexion
+                 utilise SSL/TLS, "off" dans le cas contraire
+                 (Cette variable peut &ecirc;tre utilis&eacute;e sans probl&egrave;me, que
+                 <module>mod_ssl</module> soit charg&eacute; ou non).</dd>
 
-                  <dt><code>REQUEST_URI</code></dt>
+                 <dt><code>IS_SUBREQ</code></dt>
 
-                  <dd>La ressource demand&eacute;e dans la ligne de requ&ecirc;te
-                 HTTP (correspondrait, dans l'exemple pr&eacute;c&eacute;dent, &agrave;
-                 "/index.html").</dd>
+                  <dd>Contient le texte "true" si la requ&ecirc;te en cours
+                 de traitement est une sous-requ&ecirc;te, "false" dans le
+                 cas contraire. Une sous-requ&ecirc;te est g&eacute;n&eacute;r&eacute;e quand un
+                 module a besoin de se r&eacute;f&eacute;rer &agrave; des fichiers ou URIs
+                 addidionnels pour pouvoir mener &agrave; bien sa t&acirc;che.</dd>
+
+                 <dt><code>REMOTE_ADDR</code></dt>
+                  <dd>L'adresse IP de l'h&ocirc;te distant (se r&eacute;f&eacute;rer au
+                 module <module>mod_remoteip</module>).</dd>
 
                   <dt><code>REQUEST_FILENAME</code></dt>
 
                   <dd>Le chemin complet local au syst&egrave;me de fichiers
                  du fichier ou du script correspondant
-                 &agrave; la requ&ecirc;te.</dd>
-
-                  <dt><code>HTTPS</code></dt>
+                 &agrave; la requ&ecirc;te, s'il a d&eacute;j&agrave; &eacute;t&eacute; d&eacute;termin&eacute; par le serveur
+                 au moment o&ugrave; on y fait r&eacute;f&eacute;rence. Dans le cas
+                 contraire, et en particulier dans le cas d'un serveur
+                 virtuel, <code>REQUEST_FILENAME</code> contient la
+                 valeur de <code>REQUEST_URI</code>. En fonction de la
+                 valeur de la directive <directive
+                 module="core">AcceptPathInfo</directive>, le serveur
+                 peut n'utiliser que certains &eacute;l&eacute;ments de t&ecirc;te du
+                 <code>REQUEST_URI</code> pour d&eacute;terminer &agrave; quel
+                 fichier correspond la requ&ecirc;te.</dd>
+
+                 <dt><code>REQUEST_SCHEME</code></dt>
+
+                  <dd>Contient le protocole de la requ&ecirc;te (en g&eacute;n&eacute;ral
+                 "http" ou "https"). La valeur peut &ecirc;tre modifi&eacute;e par
+                 la directive <directive
+                 module="core">ServerName</directive>.</dd>
+
+                 <dt><code>REQUEST_URI</code></dt>
+
+                 <dd>La partie chemin de l'URI de la requ&ecirc;te, comme
+                 "/index.html". Ceci exclut en particulier la cha&icirc;ne de
+                 param&egrave;tres de la requ&ecirc;te qui est contenue dans la
+                 variable <code>QUERY_STRING</code>.</dd>
 
-                  <dd>Contiendra le texte "on" si la connexion
-                 utilise SSL/TLS, "off" dans le cas contraire
-                 (L'utilisation de cette variable est pertinente,
-                 ind&eacute;pendamment du fait que <module>mod_ssl</module>
-                 soit charg&eacute; ou non).</dd>
+                  <dt><code>THE_REQUEST</code></dt>
 
+                  <dd>La ligne de requ&ecirc;te HTTP compl&egrave;te envoy&eacute;e par le
+                 navigateur au serveur (par exemple, "<code>GET
+                  /index.html HTTP/1.1</code>"), &agrave; l'exclusion de tout
+                 en-t&ecirc;te ajout&eacute; par le navigateur. Cette
+                 valeur n'a pas &eacute;t&eacute; d&eacute;s&eacute;chapp&eacute;e (d&eacute;cod&eacute;e), &agrave; la
+                 diff&eacute;rence de la plupart des variables suivantes.</dd>
                 </dl>
 </note>
         </li>
       </ul>
 
-      <p>Autres points &agrave; conna&icirc;tre :</p>
+      <p>Si la <em>cha&icirc;ne_de_test</em> contient la valeur sp&eacute;ciale
+      <code>expr</code>, <em>expression_de_comparaison</em> sera trait&eacute;
+      en tant qu'expression rationnelle de type <a
+      href="../expr.html">ap_expr</a>. Si des en-t&ecirc;tes HTTP sont
+      r&eacute;f&eacute;renc&eacute;s dans l'expression rationnelle, et si le drapeau
+      <code>novary</code> n'est pas activ&eacute;, ils seront ajout&eacute;s &agrave;
+      l'en-t&ecirc;te Vary.</p>
 
+      <p>Autres points &agrave; conna&icirc;tre ::</p>
       <ol>
         <li>
-       <p>Les variables SCRIPT_FILENAME et REQUEST_FILENAME ont la
-       m&ecirc;me valeur - celle du champ <code>filename</code> de la
-       structure interne du serveur Apache <code>request_rec</code>.
-       Le premier nom est bien connu en tant que variable CGI,
-       alors que le second est &eacute;quivalent &agrave; REQUEST_URI (qui contient
-       la valeur du champ <code>uri</code> de la structure
+        <p>Les variables <code>SCRIPT_FILENAME</code> et
+       <code>REQUEST_FILENAME</code> contiennent toutes deux la valeur
+       du champ <code>filename</code> de la
+       structure interne <code>request_rec</code>du serveur HTTP Apache.
+       Le premier nom correspond au nom de variable bien connu CGI,
+       alors que le second est l'&eacute;quivalent de REQUEST_URI (qui
+       contient la valeur du champ <code>uri</code> de
        <code>request_rec</code>).</p>
-       <p>Si une substitution intervient et si la r&eacute;&eacute;criture continue,
-       les valeurs des deux variables seront mises &agrave; jour en
+        <p>Si une substitution intervient et si la r&eacute;&eacute;criture se
+       poursuit, la valeur des deux variables sera mise &agrave; jour en
        cons&eacute;quence.</p>
-       <p>Dans un contexte de niveau serveur (<em>c'est &agrave; dire</em>
-       avant que la requ&ecirc;te soit mise en correspondance avec le syst&egrave;me
-       de fichiers), SCRIPT_FILENAME et REQUEST_FILENAME ne peuvent pas
-       contenir le chemin complet dans le syst&egrave;me de fichier local car
-       ce dernier n'est pas encore connu &agrave; ce niveau du traitement.
-       Dans ce cas, les deux variables contiendront initialement la
-       valeur de REQUEST_URI. Pour avoir acc&egrave;s au chemin complet de la
-       requ&ecirc;te dans le syst&egrave;me de fichiers local dans un contexte de
-       niveau serveur, utilisez une r&eacute;f&eacute;rence avant &agrave; base d'URL
+        <p>Dans le contexte du serveur principal (c'est &agrave; dire avant que
+       la requ&ecirc;te ne soit mise en correspondance avec le syst&egrave;me de
+       fichiers), SCRIPT_FILENAME et REQUEST_FILENAME  ne peuvent pas
+       contenir le chemin entier dans le syst&egrave;me de fichiers local car
+       ce chemin b'est pas connu &agrave; ce stade du traitement. Dans ce cas,
+       les deux variables contiendront la valeur de REQUEST_URI. Pour
+       obtenir le chemin complet de la requ&ecirc;te dans le syst&egrave;me de
+       fichiers local dans le contexte du serveur principal, utilisez une
+       r&eacute;f&eacute;rence avant &agrave; base d'URL
        <code>%{LA-U:REQUEST_FILENAME}</code> pour d&eacute;terminer la valeur
        finale de REQUEST_FILENAME.</p></li>
 
-        <li>On peut &eacute;galement utiliser <code>%{ENV:variable}</code>, o&ugrave;
-       <em>variable</em> peut &ecirc;tre remplac&eacute; par toute variable
-       d'environnement. Ces variables sont recherch&eacute;es dans les
-       structures internes d'Apache, et (si elles n'y figurent pas)
-       via <code>getenv()</code> depuis le processus du serveur
-       Apache.</li>
+
+        <li>
+       <code>%{ENV:<em>variable</em>}</code>, o&ugrave; <em>variable</em> peut
+       correspondre &agrave; une variable d'environnement quelconque.</li>
+       <li>
+        <code>%{ENV:variable}</code> est aussi disponible, o&ugrave;
+       <em>variable</em> peut correspondre &agrave; toute variable
+       d'environnement. Peut &ecirc;tre consult&eacute; via des structures internes
+       d'Apache httpd et (si on ne les trouve pas ici) via la fonction
+       <code>getenv()</code> &agrave; partir du processus du serveur Apache
+       httpd.</li>
 
         <li>Que <module>mod_ssl</module> soit charg&eacute; ou non, on peut
        utiliser <code>%{SSL:variable}</code>, o&ugrave; <em>variable</em>
        peut &ecirc;tre remplac&eacute; par le nom d'une
        <a href="mod_ssl.html#envvars">variable
-       d'environnement SSL</a>, mais la valeur produite sera toujours
-       une cha&icirc;ne de caract&egrave;res vide si <module>mod_ssl</module> n'est
-       pas charg&eacute;. Exemple :
-       <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> peut correspondre
-       &agrave; <code>128</code>.</li>
-
-        <li>Pour obtenir la valeur d'un en-t&ecirc;te contenu dans une requ&ecirc;te
-       HTTP, on peut toujours utiliser <code>%{HTTP:header}</code>,
-       o&ugrave; <em>header</em> peut &ecirc;tre remplac&eacute; par tout nom d'en-t&ecirc;te
-       MIME HTTP. Exemple : <code>%{HTTP:Proxy-Connection}</code> est
-       la valeur de l'en-t&ecirc;te HTTP ``<code>Proxy-Connection:</code>''.
-        <p>Si une condition contient un en-t&ecirc;te HTTP, il est ajout&eacute; &agrave;
-       l'en-t&ecirc;te Vary de la r&eacute;ponse dans le cas o&ugrave; la condition est
-       &eacute;valu&eacute;e &agrave; true pour la requ&ecirc;te. Dans le cas contraire, il n'est
-       <strong>pas</strong> ajout&eacute;. L'ajout de l'en-t&ecirc;te HTTP &agrave;
-       l'en-t&ecirc;te Vary de la r&eacute;ponse s'av&egrave;re n&eacute;cessaire pour une mise
-       en cache correcte.</p>
-        <p>Il faut garder &agrave; l'esprit que les conditions suivent une
-       logique de court-circuit en cas de pr&eacute;sence du drapeau
-       '<strong><code>ornext|OR</code></strong>', si bien que
-       certaines d'entre elles sont susceptibles de ne pas &ecirc;tre
-       &eacute;valu&eacute;es du tout.</p></li>
-
-        <li>On peut utiliser <code>%{LA-U:variable}</code> pour les
-       recherches en avant qui effectuent une sous-requ&ecirc;te interne
-       (bas&eacute;e sur l'URL), pour d&eacute;terminer la valeur finale de
-       <em>variable</em>. Cela peut servir &agrave; acc&eacute;der &agrave; une variable
-       (n&eacute;cessaire pour une r&eacute;&eacute;criture) qui n'est pas disponible dans
-       la situation pr&eacute;sente, mais le sera dans une phase ult&eacute;rieure.
-       <p>Par exemple, pour effectuer une r&eacute;&eacute;criture qui tient compte
-       de la variable <code>REMOTE_USER</code> dans un contexte
-       niveau serveur (fichier <code>httpd.conf</code>), vous devez
-       utiliser <code>%{LA-U:REMOTE_USER}</code> ; cette variable est
-       d&eacute;finie au cours des phases d'autorisation, qui interviennent
-       <em>apr&egrave;s</em> la phase de traduction de l'URL (pendant
-       laquelle agit mod_rewrite).</p>
-       <p>Par contre, comme mod_rewrite impl&eacute;mente son contexte
-       niveau r&eacute;pertoire (fichier <code>.htaccess</code>) via la
-       phase Fixup de l'API, et comme les phases d'autorisation
-       interviennent <em>avant</em> cette phase, vous pouvez vous contenter
-       d'utiliser <code>%{REMOTE_USER}</code>
-       dans le contexte niveau serveur.</p></li>
-
-        <li>On peut utiliser <code>%{LA-F:variable}</code> pour
-       effectuer une sous-requ&ecirc;te interne (bas&eacute;e sur un nom de
-       fichier), pour d&eacute;terminer la valeur finale de
-       <em>variable</em>. La plupart du temps, elle est identique &agrave;
-       LA-U vue pr&eacute;c&eacute;demment.</li>
+       d'environnement SSL</a> . Si <module>mod_ssl</module> n'est pas
+       charg&eacute;, cette variable contiendra toujours une cha&icirc;ne vide.
+       Exemple : <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> pourra
+       contenir la valeur <code>128</code>.</li>
+
+       <li>
+        On peut utiliser <code>%{HTTP:en-t&ecirc;te}</code>, o&ugrave;
+       <em>en-t&ecirc;te</em> peut correspondre &agrave; tout nom d'en-t&ecirc;te MIME
+       HTTP, pour extraire la valeur d'un en-t&ecirc;te envoy&eacute; dans la
+       requ&ecirc;te HTTP. Par exemple, <code>%{HTTP:Proxy-Connection}</code>
+       contiendra la valeur de l'en-t&ecirc;te HTTP
+       "<code>Proxy-Connection:</code>".
+       Si on utilise un en-t&ecirc;te HTTP
+       dans une condition, et si cette condition est &eacute;valu&eacute;e &agrave;
+       <code>vrai</code> pour la requ&ecirc;te, cet en-t&ecirc;te sera ajout&eacute; &agrave; l'en-t&ecirc;te Vary de
+       la r&eacute;ponse. Il ne le sera pas si la condition est &eacute;valu&eacute;e &agrave;
+       <code>faux</code>. L'ajout de l'en-t&ecirc;te HTTP &agrave; l'en-t&ecirc;te Vary
+       est n&eacute;cessaire &agrave; une mise en cache appropri&eacute;e.
+       <p>Il faut garder &agrave; l'esprit que les conditions suivent une
+       logique de cout-circuit si le drapeau
+       '<strong><code>ornext|OR</code></strong>' est utilis&eacute;, et que de
+       ce fait, certaines d'entre elles ne seront pas &eacute;valu&eacute;es.</p>
+       </li>
+
+        <li>A des fins de r&eacute;f&eacute;rence avant, on peut utiliser,
+       <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>, qui
+       permet d'effectuer une sous-requ&ecirc;te interne &agrave; base d'URL, afin
+       de d&eacute;terminer la valeur finale de <em>variable</em>. Ceci permet
+       d'acc&eacute;der &agrave; la valeur d'une variable pour la r&eacute;&eacute;criture inconnue
+       &agrave; ce stade du traitement, mais qui sera d&eacute;finie au
+       cours d'une phase ult&eacute;rieure.
+       <p>Par exemple, pour effectuer une r&eacute;&eacute;criture d&eacute;pendant de la
+       variable <code>REMOTE_USER</code> dans le contexte du serveur
+       principal (fichier <code>httpd.conf</code>), vous devez utiliser
+       <code>%{LA-U:REMOTE_USER}</code> - cette variable est d&eacute;finie
+       par la phase d'autorisation qui intervient <em>apr&egrave;s</em> la
+       phase de traduction d'URL (pendant laquelle mod_rewrite op&egrave;re).</p>
+        <p>Par contre, comme mod_rewrite impl&eacute;mente son contexte de
+       r&eacute;pertoire (fichier <code>.htaccess</code>) via la phase Fixup
+       de l'API, et comme la phase d'autorisation intervient
+       <em>avant</em> cette derni&egrave;re, vous pouvez vous contenter
+       d'utiliser <code>%{REMOTE_USER}</code> dans ce contexte.</p></li>
+
+        <li>
+        <code>%{LA-F:variable}</code> peut &ecirc;tre utilis&eacute;e pour effectuer
+       une sous-requ&ecirc;te interne (bas&eacute;e sur le nom de fichier), afin de
+       d&eacute;terminer la valeur finale de <em>variable</em>. La plupart du
+       temps, elle est identique &agrave; LA-U (voir ci-dessus).</li>
       </ol>
 
-      <p><em>expression de comparaison</em> est une expression
+
+      <p><em>expression_de_comparaison</em> est une expression
       rationnelle qui est appliqu&eacute;e &agrave; l'instance actuelle de
-      <em>cha&icirc;ne de test</em>. <em>cha&icirc;ne de test</em> est d'abord
+      <em>cha&icirc;ne_de_test</em>. <em>cha&icirc;ne_de_test</em> est d'abord
       &eacute;valu&eacute;e, puis compar&eacute;e &agrave;
-      l'<em>expression de comparaison</em>.</p>
+      l'<em>expression_de_comparaison</em>.</p>
 
-      <p><strong>A savoir :</strong>
-      <em>expression de comparaison</em> est une
-      <em>expression rationnelle compatible perl</em> avec
-      quelques extensions :</p>
+      <p><em>expression_de_comparaison</em> est en g&eacute;n&eacute;ral une
+      <em>expression rationnelle compatible perl</em>, mais vous
+      disposez des syntaxes suppl&eacute;mentaires suivantes pour effectuer
+      d'autres tests utiles sur <em>cha&icirc;ne_de_test</em> :
+      </p>
 
       <ol>
         <li>Vous pouvez pr&eacute;fixer l'expression avec un caract&egrave;re
-       '<code>!</code>' (point d'exclamation) pour indiquer une
-       expression de <strong>non</strong>-correspondance.</li>
+       '<code>!</code>' (point d'exclamation) pour inverser le r&eacute;sultat
+       de la condition, quelle que soit l'<em>expression de
+       comparaison</em> utilis&eacute;e.</li>
 
-        <li>Il existe certaines variantes sp&eacute;ciales
-       d'<em>expressions de comparaison</em>. A la place d'une
-       expression rationnelle, vous pouvez utiliser :
+        <li>Vous pouvez effectuer des comparaisons lexicographiques de
+       cha&icirc;nes   :
 
           <ul>
             <li>'<strong>&lt;expression</strong>' (inf&eacute;rieur au sens
            lexicographique)<br />
            Traite l'<em>expression</em> comme une cha&icirc;ne de
            caract&egrave;res et la compare lexicographiquement &agrave;
-           <em>cha&icirc;ne de test</em>. La condition est satisfaite si
-           <em>cha&icirc;ne de test</em> est inf&eacute;rieure au sens
+           <em>cha&icirc;ne_de_test</em>. La condition est satisfaite si
+           <em>cha&icirc;ne_de_test</em> est inf&eacute;rieure au sens
            lexicographique &agrave; l'<em>expression</em>.</li>
 
             <li>'<strong>&gt;expression</strong>' (sup&eacute;rieur au sens
            lexicographique)<br />
            Traite l'<em>expression</em> comme une cha&icirc;ne de
            caract&egrave;res et la compare lexicographiquement &agrave;
-           <em>cha&icirc;ne de test</em>. La condition est satisfaite si
-           <em>cha&icirc;ne de test</em> est sup&eacute;rieure au sens
+           <em>cha&icirc;ne_de_test</em>. La condition est satisfaite si
+           <em>cha&icirc;ne_de_test</em> est sup&eacute;rieure au sens
            lexicographique &agrave; l'<em>expression</em>.</li>
 
             <li>'<strong>=expression</strong>' (&eacute;gal au sens
            lexicographique)<br />
            Traite l'<em>expression</em> comme une cha&icirc;ne de
            caract&egrave;res et la compare lexicographiquement &agrave;
-           <em>cha&icirc;ne de test</em>. La condition est satisfaite si
-           <em>cha&icirc;ne de test</em> est &eacute;gale au sens
+           <em>cha&icirc;ne_de_test</em>. La condition est satisfaite si
+           <em>cha&icirc;ne_de_test</em> est &eacute;gale au sens
            lexicographique &agrave; l'<em>expression</em> (les deux cha&icirc;nes
            sont exactement identiques, caract&egrave;re pour caract&egrave;re). Si
            <em>expression</em> est <code>""</code> (deux guillemets),
-           <em>cha&icirc;ne de test</em> est compar&eacute;e &agrave; la cha&icirc;ne vide.</li>
+           <em>cha&icirc;ne_de_test</em> est compar&eacute;e &agrave; la cha&icirc;ne vide.</li>
+
+           <li>'<strong>&lt;=expression de comparaison</strong>' (inf&eacute;rieur ou &eacute;gal &agrave;
+           au sens lexicographique)<br />
+            Consid&egrave;re l'<em>expression_de_comparaison</em> comme une
+           cha&icirc;ne de caract&egrave;res et la compare au sens lexicographique &agrave;
+           la <em>cha&icirc;ne_de_test</em>. Vrai si <em>cha&icirc;ne_de_test</em>
+           pr&eacute;c&egrave;de lexicographiquement <em>expression_de_comparaison</em>, ou est
+           &eacute;gale &agrave; <em>expression_de_comparaison</em> (les deux cha&icirc;nes
+           sont identiques, caract&egrave;re pour caract&egrave;re).</li>
+
+            <li>'<strong>&gt;=expression de comparaison</strong>'
+           (sup&eacute;rieur ou &eacute;gal &agrave; au sens lexicographique)<br />
+            Consid&egrave;re l'<em>expression_de_comparaison</em> comme une
+           cha&icirc;ne de caract&egrave;res et la compare au sens lexicographique &agrave;
+           la <em>cha&icirc;ne_de_test</em>. Vrai si <em>cha&icirc;ne_de_test</em>
+           suit lexicographiquement <em>expression_de_comparaison</em>, ou est
+           &eacute;gale &agrave; <em>expression_de_comparaison</em> (les deux cha&icirc;nes
+           sont identiques, caract&egrave;re pour caract&egrave;re).</li>
+        </ul></li>
+
+        <li>
+          Vous pouvez effectuer des comparaisons d'entiers :
+          <ul>
+
+            <li>'<strong>-eq</strong>' (est num&eacute;riquement &eacute;gal &agrave;)<br />
+            La <em>cha&icirc;ne_de_test</em> est consid&eacute;r&eacute;e comme un entier,
+           et est compar&eacute;e num&eacute;riquement &agrave; l'<em>expression de
+           comparaison</em>. Vrai si les deux expressions sont
+           num&eacute;riquement &eacute;gales.</li>
+
+            <li>'<strong>-ge</strong>' (est num&eacute;riquement sup&eacute;rieur ou
+           &eacute;gal &agrave;)<br />
+            La <em>cha&icirc;ne_de_test</em> est consid&eacute;r&eacute;e comme un entier,
+           et est compar&eacute;e num&eacute;riquement &agrave; l'<em>expression de
+           comparaison</em>. Vrai si <em>cha&icirc;ne_de_test</em> est
+           num&eacute;riquement
+           sup&eacute;rieure ou &eacute;gale &agrave; <em>expression_de_comparaison</em>.</li>
+
+             <li>'<strong>-gt</strong>' (est num&eacute;riquement sup&eacute;rieur &agrave;)<br />
+            La <em>cha&icirc;ne_de_test</em> est consid&eacute;r&eacute;e comme un entier,
+           et est compar&eacute;e num&eacute;riquement &agrave; l'<em>expression de
+           comparaison</em>. Vrai si <em>cha&icirc;ne_de_test</em> est
+           num&eacute;riquement
+           sup&eacute;rieure &agrave; <em>expression_de_comparaison</em>.</li>
+
+            <li>'<strong>-le</strong>' (est num&eacute;riquement inf&eacute;rieur ou
+           &eacute;gal &agrave;)<br />
+            La <em>cha&icirc;ne_de_test</em> est consid&eacute;r&eacute;e comme un entier,
+           et est compar&eacute;e num&eacute;riquement &agrave; l'<em>expression de
+           comparaison</em>. Vrai si <em>cha&icirc;ne_de_test</em> est
+           num&eacute;riquement
+           inf&eacute;rieure ou &eacute;gale &agrave; <em>expression_de_comparaison</em>.
+           Attention &agrave; la confusion avec le drapeau <strong>-l</strong>
+           en utilisant la variante the <strong>-L</strong> ou
+           <strong>-h</strong>.</li>
+
+             <li>'<strong>-lt</strong>' (est num&eacute;riquement inf&eacute;rieur &agrave;)<br />
+            La <em>cha&icirc;ne_de_test</em> est consid&eacute;r&eacute;e comme un entier,
+           et est compar&eacute;e num&eacute;riquement &agrave; l'<em>expression de
+           comparaison</em>. Vrai si <em>cha&icirc;ne_de_test</em> est
+           num&eacute;riquement
+           inf&eacute;rieure &agrave; <em>expression_de_comparaison</em>.
+           Attention &agrave; la confusion avec le drapeau <strong>-l</strong>
+           en utilisant la variante the <strong>-L</strong> ou
+           <strong>-h</strong>.</li>
+
+           </ul>
+        </li>
+
+        <li>Vous pouvez effectuer diff&eacute;rents tests sur les attributs de
+       fichier :
+          <ul>
 
             <li>'<strong>-d</strong>' (est un r&eacute;pertoire -
            <strong>d</strong>irectory)<br />
-           Traite <em>cha&icirc;ne de test</em> comme un chemin et v&eacute;rifie
+           Traite <em>cha&icirc;ne_de_test</em> comme un chemin et v&eacute;rifie
            s'il existe ou pas, et s'il s'agit d'un r&eacute;pertoire.</li>
 
             <li>'<strong>-f</strong>' (est un
            <strong>f</strong>ichier r&eacute;gulier)<br />
-           Traite <em>cha&icirc;ne de test</em> comme un chemin et v&eacute;rifie
+           Traite <em>cha&icirc;ne_de_test</em> comme un chemin et v&eacute;rifie
            s'il existe ou pas, et s'il s'agit d'un fichier r&eacute;gulier.</li>
 
-            <li>'<strong>-s</strong>' (est un fichier r&eacute;gulier d'une
-           certaine taille - <strong>s</strong>ize)<br />
-           Traite <em>cha&icirc;ne de test</em> comme un chemin et v&eacute;rifie
-           s'il existe ou pas, et s'il s'agit d'un fichier r&eacute;gulier
-           dont la taille est sup&eacute;rieure &agrave; z&eacute;ro.</li>
-
-            <li>'<strong>-l</strong>' (est un
-           <strong>l</strong>ien symbolique)<br />
-           Traite <em>cha&icirc;ne de test</em> comme un chemin et v&eacute;rifie
-           s'il existe ou pas, et s'il s'agit d'un lien
-           symbolique.</li>
-
-            <li>'<strong>-x</strong>' (a le droit
-           d'e<strong>x</strong>&eacute;cution)<br />
-           Traite <em>cha&icirc;ne de test</em> comme un chemin et v&eacute;rifie
-           s'il existe ou pas, et a le droit d'ex&eacute;cution. Ce droit est
-           d&eacute;termin&eacute; en accord avec le syst&egrave;me d'exploitation
-           sous-jacent.</li>
-
             <li>'<strong>-F</strong>' (test de l'existence d'un fichier
            via une sous-requ&ecirc;te)<br />
-           V&eacute;rifie si <em>cha&icirc;ne de test</em> est un fichier valide,
+           V&eacute;rifie si <em>cha&icirc;ne_de_test</em> est un fichier valide,
            accessible &agrave; travers tous les contr&ocirc;les d'acc&egrave;s du serveur
            actuellement configur&eacute;s pour ce chemin. C'est une
            sous-requ&ecirc;te interne qui effectue cette v&eacute;rification - &agrave;
            utiliser avec pr&eacute;cautions car les performances du serveur
            peuvent s'en trouver affect&eacute;es !</li>
 
-            <li>'<strong>-U</strong>' (test de l'existence d'une
-           <strong>U</strong>RL via une sous-requ&ecirc;te)<br />
-           V&eacute;rifie si <em>cha&icirc;ne de test</em> est une URL valide,
+           <li>'<strong>-H</strong>' (est un lien symbolique, selon la
+           convention bash)<br />
+            Voir <strong>-l</strong>.</li>
+
+            <li>'<strong>-l</strong>' (est un lien symbolique)<br />
+            Consid&egrave;re la <em>cha&icirc;ne_de_test</em> comme un chemin et
+           v&eacute;rifie son existence et si elle est un lien symbolique. On
+           peut aussi utiliser la convention bash <strong>-L</strong>
+           ou <strong>-h</strong> lorsqu'il y a risque de confusion
+           avec les tests <strong>-lt</strong> ou <strong>-le</strong>.</li>
+
+            <li>'<strong>-L</strong>' (est un lien symbolique, selon la
+           convention bash)<br />
+            Voir <strong>-l</strong>.</li>
+
+            <li>'<strong>-s</strong>' (est un fichier r&eacute;gulier d'une
+           certaine taille)<br />
+            Consid&egrave;re la <em>cha&icirc;ne_de_test</em> comme un chemin et
+           v&eacute;rifie son existence et si elle est un fichier r&eacute;gulier
+           d'une taille sup&eacute;rieure &agrave; z&eacute;ro.</li>
+
+            <li><p>'<strong>-U</strong>' (test de l'existence d'une
+           URL via une sous-requ&ecirc;te)<br />
+           V&eacute;rifie si <em>cha&icirc;ne_de_test</em> est une URL valide,
            accessible &agrave; travers tous les contr&ocirc;les d'acc&egrave;s du serveur
            actuellement configur&eacute;s pour ce chemin. C'est une
            sous-requ&ecirc;te interne qui effectue cette v&eacute;rification - &agrave;
            utiliser avec pr&eacute;cautions car les performances du serveur
-           peuvent s'en trouver affect&eacute;es !</li>
-          </ul>
+           peuvent s'en trouver affect&eacute;es !</p>
+           <p>Ce drapeau ne renvoie <em>que</em> des informations
+           concernant le contr&ocirc;le d'acc&egrave;s, l'authentification et
+           l'autorisation. Il ne renvoie <em>pas</em> d'informations
+           concernant le code d'&eacute;tat que le gestionnaire configur&eacute;
+           (static file, CGI, proxy, etc...) aurait, quant &agrave; lui,
+           retourn&eacute;.</p></li>
+
+         <li>'<strong>-x</strong>' (a l'attribut d'ex&eacute;cution positionn&eacute;)<br />
+            Consid&egrave;re la <em>cha&icirc;ne_de_test</em> comme un chemin et
+           v&eacute;rifie son existence et si elle a son attribut d'ex&eacute;cution
+           positionn&eacute;. Ce positionnement est d&eacute;termin&eacute; en fonction de
+           l'OS sous-jacent.</li>
+
+           </ul>
 
-<note><title>Note :</title>
-              Tous ces tests peuvent aussi &ecirc;tre pr&eacute;fix&eacute;s par un point
-             d'exclamation ('!') pour inverser leur signification.
-</note>
+        </li>
+
+       <li>
+           <p>Si la <em>cha&icirc;ne_de_test</em> contient la valeur sp&eacute;ciale
+          <code>expr</code>, la <em>cha&icirc;ne de comparaison</em> sera
+          trait&eacute;e en tant qu'expression rationnelle de type <a
+          href="../expr.html">ap_expr</a>.</p>
+
+          <p>
+            Dans l'exemple ci-dessous, on utilise <code>-strmatch</code>
+           pour comparer le <code>REFERER</code> avec le nom d'h&ocirc;te du
+           site afin de bloquer le hotlinking (r&eacute;f&eacute;rencement direct)
+           non d&eacute;sir&eacute;.
+           </p>
+
+           <highlight language="config">
+           RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
+           RewriteRule ^/images - [F]
+           </highlight>
         </li>
 
        <li>Vous pouvez aussi d&eacute;finir certains drapeaux pour
-       l'<em>expression de comparaison</em> en ajoutant ces
+       l'<em>expression_de_comparaison</em> en ajoutant ces
        <strong><code>[</code><em>drapeaux</em><code>]</code></strong>
        comme troisi&egrave;me argument de la directive
        <code>RewriteCond</code>, o&ugrave; <em>drapeaux</em> est un
@@ -1133,10 +1028,10 @@ la r&eacute;&eacute;criture soit effectu&eacute;e
        (<strong>n</strong>o <strong>c</strong>ase)<br />
        Rend le test insensible &agrave; la casse - il n'est pas fait de
        distinction entre majuscules et minuscules, &agrave; la fois dans le
-       d&eacute;veloppement de <em>cha&icirc;ne de test</em> et dans
-       <em>expression de comparaison</em>. Ce drapeau n'est pris en
-       compte que lors d'une comparaison entre <em>cha&icirc;ne de test</em>
-       et <em>expression de comparaison</em>. Il ne l'est pas pour les
+       d&eacute;veloppement de <em>cha&icirc;ne_de_test</em> et dans
+       <em>expression_de_comparaison</em>. Ce drapeau n'est pris en
+       compte que lors d'une comparaison entre <em>cha&icirc;ne_de_test</em>
+       et <em>expression_de_comparaison</em>. Il ne l'est pas pour les
        v&eacute;rification par sous-requ&ecirc;tes ou sur le syst&egrave;me de
        fichiers.</li>
 
@@ -1146,14 +1041,12 @@ la r&eacute;&eacute;criture soit effectu&eacute;e
          Permet de cha&icirc;ner les conditions de r&egrave;gles avec un OU au
          lieu du AND implicite. Exemple typique :
 
-<example>
-<pre>
-RewriteCond %{REMOTE_HOST}  ^hote1.*  [OR]
-RewriteCond %{REMOTE_HOST}  ^hote2.*  [OR]
-RewriteCond %{REMOTE_HOST}  ^hote3.*
+<highlight language="config">
+RewriteCond %{REMOTE_HOST}  ^host1  [OR]
+RewriteCond %{REMOTE_HOST}  ^host2  [OR]
+RewriteCond %{REMOTE_HOST}  ^host3
 RewriteRule ...r&egrave;gles concernant tous ces h&ocirc;tes...
-</pre>
-</example>
+</highlight>
 
           Sans ce drapeau, les paires
          condition/r&egrave;gle devraient &ecirc;tre &eacute;crites trois fois.
@@ -1179,31 +1072,20 @@ RewriteRule ...r&egrave;gles concernant tous ces h&ocirc;tes...
        l'en-t&ecirc;te ``<code>User-Agent:</code>'' de la requ&ecirc;te, vous
        pouvez utiliser ce qui suit : </p>
 
-<example>
-<pre>
-RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
-RewriteRule  ^/$                 /homepage.max.html  [L]
-
-RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
-RewriteRule  ^/$                 /homepage.min.html  [L]
+<highlight language="config">
+RewriteCond  %{HTTP_USER_AGENT}  (iPhone|Blackberry|Android)
+RewriteRule  ^/$                 /homepage.mobile.html  [L]
 
 RewriteRule  ^/$                 /homepage.std.html  [L]
-</pre>
-</example>
+</highlight>
 
         <p>Explications : si vous utilisez un navigateur
-       (Netscape Navigator, Mozilla etc) qui s'identifie comme
-       'Mozilla', vous acc&egrave;derez &agrave; la page d'accueil max (qui
-       peut contenir des frames, ou d'autres ressources
-       particuli&egrave;res).
-       Si vous utilisez le navigateur Lynx (qui est un navigateur
-       en mode texte), vous acc&egrave;derez &agrave; une page d'accueil min
-       (qui peut &ecirc;tre une version con&ccedil;ue pour une navigation simple
-       bas&eacute;e sur le texte).
-       Si aucune de ces conditions n'est satisfaite (vous utilisez tout
-       autre navigateur, ou votre navigateur s'identifie de mani&egrave;re non
-       standard), vous acc&egrave;derez &agrave; la page d'accueil std
-       (standard).</p>
+       qui s'identifie comme un
+       navigateur de plateforme mobile (notez que l'exemple est
+       incomplet car il existe de nombreuses autres plateformes
+       mobiles), c'est la version pour mobile de la page d'accueil qui
+       sera renvoy&eacute;e. Dans le cas contraire, ce sera la page d'accueil
+       standard.</p>
 
 </usage>
 
@@ -1230,26 +1112,91 @@ RewriteRule  ^/$                 /homepage.std.html  [L]
       <p><a id="patterns" name="patterns"><em>Mod&egrave;le</em></a> est une
       <a id="regexp" name="regexp">expression rationnelle</a>
       compatible perl. Dans la premi&egrave;re r&egrave;gle de r&eacute;&eacute;criture,
-      l'expression est compar&eacute;e au (%-encoded)
-      <a href="./directive-dict.html#Syntax">chemin de l'URL</a> de la
-      requ&ecirc;te ; les expressions suivantes sont compar&eacute;es &agrave; la sortie de
-      la derni&egrave;re r&egrave;gle de r&eacute;&eacute;criture qui a &eacute;t&eacute; appliqu&eacute;e.</p>
-
-<note><title>Qu'est-ce qui est compar&eacute; ?</title>
-      <p>Le <em>Mod&egrave;le</em> est d'abord compar&eacute; &agrave; la partie
-      de l'URL apr&egrave;s le nom d'h&ocirc;te et le port, et avant la cha&icirc;ne de
-      requ&ecirc;te. Si vous souhaitez faire une comparaison sur le nom
+      l'expression est compar&eacute;e au (%-decoded)
+      <a href="directive-dict.html#Syntax">chemin de l'URL</a> (ou au
+      <a href="directive-dict.html#Syntax">chemin fichier</a>, en
+      fonction du contexte) de la
+      requ&ecirc;te. Les expressions suivantes sont compar&eacute;es &agrave; la sortie de
+      la derni&egrave;re r&egrave;gle de r&eacute;&eacute;criture qui
+      correspondait.</p>
+
+<note><title><a id="what_is_matched" name="what_is_matched">Qu'est-ce qui est compar&eacute; ?</a></title>
+
+      <p>Dans un contexte de serveur virtuel <directive
+      module="core">VirtualHost</directive>, le <em>mod&egrave;le</em> est tout
+      d'abord compar&eacute; &agrave; la portion de l'URL situ&eacute;e entre le nom d'h&ocirc;te
+      &eacute;ventuellement accompagn&eacute; du port, et la cha&icirc;ne de param&egrave;tres (par
+      exemple "/app1/index.html").</p>
+
+      <p>Dans les contextes de r&eacute;pertoire <directive
+      module="core">Directory</directive> et htaccess, le
+      <em>mod&egrave;le</em> est tout d'abord compar&eacute; au chemin du <em>syst&egrave;me
+      de fichiers</em>, apr&egrave;s suppression du pr&eacute;fixe ou chemin de base
+      ayant conduit le serveur vers la r&egrave;gle <directive>RewriteRule</directive> (par
+      exemple "app1/index.html" ou
+      "index.html" selon l'endroit o&ugrave; les directives sont d&eacute;finies).</p>
+
+      <p>Si vous souhaitez faire une comparaison sur le nom
       d'h&ocirc;te, le port, ou la cha&icirc;ne de requ&ecirc;te, utilisez une
       directive <directive module="mod_rewrite">RewriteCond</directive>
-      comportant les variables
+      comportant respectivement les variables
       <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou
       <code>%{QUERY_STRING}</code>.</p>
 </note>
 
+<note><title>R&eacute;&eacute;critures dans un contexte de r&eacute;pertoire</title>
+<ul>
+<li>L'utilisation du moteur de r&eacute;&eacute;criture dans les
+fichiers <a href="../howto/htaccess.html">.htaccess</a> et les sections
+<directive
+type="section" module="core">Directory</directive> est un peu plus
+complexe.</li>
+
+<li>Pour activer le moteur de r&eacute;&eacute;criture dans ces contextes, vous devez
+d&eacute;finir "<code>RewriteEngine On</code>" <strong>et</strong>
+"<code>Options FollowSymLinks</code>". Si l'administrateur a d&eacute;sactiv&eacute;
+la possibilit&eacute; de modifier l'option <code>FollowSymLinks</code> au
+niveau du r&eacute;pertoire d'un utilisateur, vous ne pouvez pas utiliser le
+moteur de r&eacute;&eacute;criture. Cette restriction a &eacute;t&eacute; instaur&eacute;e &agrave; des fins de
+s&eacute;curit&eacute;.</li>
+
+<li>Lorsqu'on utilise le moteur de r&eacute;&eacute;criture dans un fichier
+<code>.htaccess</code>, le chemin de base du r&eacute;pertoire courant (qui est
+toujours le m&ecirc;me pour ce m&ecirc;me r&eacute;pertoire) est automatiquement
+<em>supprim&eacute;</em> au cours de la comparaison avec le mod&egrave;le de la r&egrave;gle
+de r&eacute;&eacute;criture, et automatiquement <em>ajout&eacute;</em> lorsqu'une
+substitution relative (ne d&eacute;butant pas par un slash ou un nom de
+protocole) arrive &agrave; la fin d'un jeu de r&egrave;gles. Voir la directive
+<directive module="mod_rewrite">RewriteBase</directive> pour plus de
+d&eacute;tails &agrave; propos de l'ajout du pr&eacute;fixe apr&egrave;s les substitutions
+relatives.</li>
+
+<li>Si vous souhaitez effectuer une comparaison en prenant en compte
+l'int&eacute;gralit&eacute; du
+chemin de l'URL dans un contexte de r&eacute;pertoire (htaccess), vous devez
+utiliser la variable <code>%{REQUEST_URI}</code> dans la directive
+<directive>RewriteCond</directive>.</li>
+
+<li>Le prefixe supprim&eacute; se termine toujours par un slash, ce qui
+signifie que la comparaison s'effectue avec une cha&icirc;ne qui ne comporte
+<em>jamais</em> de slash de d&eacute;but. Ainsi, un <em>mod&egrave;le</em> contenant
+<code>^/</code> ne correspondra jamais dans un contexte de r&eacute;pertoire.</li>
+
+<li>Bien que les r&egrave;gles de r&eacute;&eacute;criture soient permises du point de vue de
+la syntaxe dans les sections <directive type="section"
+module="core">Location</directive> et <directive type="section"
+module="core">Files</directive> (y compris leurs versions sous forme
+d'expression rationnelle), elles n'y sont pas prises en compte, et
+n'y sont &agrave; priori d'aucune utilit&eacute;. Les substitutions
+relatives sont une fonctionnalit&eacute; qui n'est, elle non-plus pas support&eacute;e
+dans ce genre de contexte.</li>
+</ul>
+</note>
+
        <p>Pour quelques conseils &agrave; propos des <glossary
        ref="regex">expressions rationnelles</glossary>, voir le
        document <a
-       href="../rewrite/rewrite_intro.html#regex">Introduction &agrave;
+       href="../rewrite/intro.html#regex">Introduction &agrave;
        mod_rewrite</a>.</p>
 
       <p>Dans mod_rewrite, on peut aussi utiliser le caract&egrave;re NON
@@ -1282,7 +1229,12 @@ substitution !
         <dt>un chemin du syst&egrave;me de fichiers</dt>
 
         <dd>Il indique alors la localisation dans le syst&egrave;me de
-       fichiers de la ressource qui doit &ecirc;tre envoy&eacute;e au client.</dd>
+       fichiers de la ressource qui doit &ecirc;tre envoy&eacute;e au
+       client. Les substitutions ne sont trait&eacute;es en tant que chemins du
+       syst&egrave;me de fichiers que si la r&egrave;gle est configur&eacute;e dans un
+       contexte de serveur (serveur virtuel), et si le premier
+       composant du chemin dans la substitution existe dans le syst&egrave;me
+       de fichiers.</dd>
 
         <dt>chemin d'URL</dt>
 
@@ -1296,7 +1248,9 @@ substitution !
        <em>Substitution</em> <code>/www/file.html</code>, cette
        derni&egrave;re sera trait&eacute;e comme un chemin d'URL <em>&agrave; moins</em>
        qu'un r&eacute;pertoire nomm&eacute; <code>www</code> n'existe &agrave; la racine
-       de votre syst&egrave;me de fichiers, auquel cas la cha&icirc;ne de
+       de votre syst&egrave;me de fichiers (ou dans le cas d'une
+       r&eacute;&eacute;criture au sein d'un fichier <code>.htaccess</code>,
+       relativement &agrave; la racine des documents), auquel cas la cha&icirc;ne de
        substitution sera trait&eacute;e comme un chemin du syst&egrave;me de
        fichiers. Si vous d&eacute;sirez que d'autres directives de
        correspondance d'URL (comme la directive <directive
@@ -1346,20 +1300,25 @@ substitution !
       <code>$</code><strong>N</strong> (<strong>N</strong>=0..9), qui
       seront remplac&eacute;s par le contenu du <strong>N</strong>&egrave;me groupe
       du <em>Mod&egrave;le</em> qui correspondait. Les variables du serveur
-      sont les m&ecirc;mes que dans la <em>Cha&icirc;ne de test</em> d'une
+      sont les m&ecirc;mes que dans la <em>Cha&icirc;ne_de_test</em> d'une
       directive <code>RewriteCond</code>. Les fonctions de comparaison
       sont issues de la directive <code>RewriteMap</code> dans la
       section de laquelle elles sont d&eacute;crites. Ces trois types de
       variables sont &eacute;valu&eacute;es dans l'ordre ci-dessus.</p>
 
-      <p>Comme mentionn&eacute; pr&eacute;c&eacute;demment, toutes les r&egrave;gles de
-      r&eacute;&eacute;criture sont appliqu&eacute;es &agrave; la cha&icirc;ne de <em>Substitution</em>
-      (selon l'ordre dans lequel elles sont d&eacute;finies dans le fichier
-      de configuration). L'URL est <strong>int&eacute;gralement
+       <p>Chaque r&egrave;gle de r&eacute;&eacute;criture s'applique au r&eacute;sultat de la r&egrave;gle
+       pr&eacute;c&eacute;dente, selon l'ordre dans lequel elles ont &eacute;t&eacute; d&eacute;finies dans
+       le fichier de configuration. Le chemin de l'URL ou du syst&egrave;me de fichier (voir
+       ci-dessus <a href="#what_is_matched">Qu'est-ce qui est
+       compar&eacute; ?</a>) est <strong>int&eacute;gralement
       remplac&eacute;e</strong> par la cha&icirc;ne de <em>Substitution</em> et le
       processus de r&eacute;&eacute;criture se poursuit jusqu'&agrave; ce que toutes les
       r&egrave;gles aient &eacute;t&eacute; appliqu&eacute;es, ou qu'il soit explicitement stopp&eacute;
-      par un drapeau <code><strong>L</strong></code>.</p>
+      par un drapeau <a
+      href="../rewrite/flags.html#flag_l"><code><strong>L</strong></code></a>,
+      ou par un autre drapeau qui implique un arr&ecirc;t imm&eacute;diat, comme
+      <code><strong>END</strong></code> ou
+      <code><strong>F</strong></code>.</p>
 
      <note><title>Modifier la cha&icirc;ne de requ&ecirc;te</title>
       <p>Par d&eacute;faut, la cha&icirc;ne de requ&ecirc;te est transmise sans
@@ -1382,334 +1341,166 @@ substitution !
       comme troisi&egrave;me argument de la directive
       <code>RewriteRule</code>. S&eacute;par&eacute;s par des virgules au sein d'une
       liste encadr&eacute;e par des crochets, les <em>drapeaux</em> peuvent
-      &ecirc;tre choisis parmi les suivants : </p>
-
-      <dl>
-        <dt>'<code>B</code>' (r&eacute;f&eacute;rences arri&egrave;re &eacute;chapp&eacute;es)</dt>
-        <dd><p>Les URLs ne doivent pas &ecirc;tre &eacute;chapp&eacute;es pour pouvoir &ecirc;tre
-       compar&eacute;es par Apache, si bien que les r&eacute;f&eacute;rences arri&egrave;res
-       renverront une valeur non &eacute;chapp&eacute;e au moment o&ugrave; elles seront
-       appliqu&eacute;es. En utilisant le drapeau B, les caract&egrave;res non
-       alphanum&eacute;riques des r&eacute;f&eacute;rences arri&egrave;res seront echapp&eacute;s. Par
-       exemple, consid&eacute;rons la r&egrave;gle :</p>
-        <example>
-        RewriteRule ^(/.*)$ /index.php?show=$1
-        </example>
-        <p>Elle va faire correspondre <code>/C++</code> &agrave;
-       <code>index.php?show=/C++</code>. Mais elle va aussi faire
-       correspondre <code>/C%2b%2b</code> &agrave;
-       <code>/index.php?show=/C++</code>, car le caract&egrave;re
-       <code>%2b</code> n'a pas &eacute;t&eacute; &eacute;chapp&eacute;. Par contre, avec le
-       drapeau B, la substitution s'effectuera vers
-       <code>/index.php?show=/C%2b%2b</code>.</p>
-        <p>Ce processus d'&eacute;chappement est particuli&egrave;rement n&eacute;cessaire
-       dans le contexte du mandataire, o&ugrave; l'adresse d'arri&egrave;re-plan ne
-       fonctionnera pas si elle se pr&eacute;sente sous une forme
-       non &eacute;chapp&eacute;e.</p>
-        </dd>
-
-        <dt>'<code>chain|C</code>'
-        (cha&icirc;nage avec la r&egrave;gle suivante)</dt><dd>
-         Ce drapeau effectue un cha&icirc;nage entre la r&egrave;gle courante et la
-        suivante (qui peut elle-m&ecirc;me &ecirc;tre cha&icirc;n&eacute;e avec la suivante, et
-        ainsi de suite). Ceci provoque l'effet suivant : si une r&egrave;gle
-        correspond, le processus continue normalement - le drapeau n'a
-        aucun effet. Si la r&egrave;gle ne correspond <strong>pas</strong>,
-        toutes les r&egrave;gles cha&icirc;n&eacute;es suivantes sont ignor&eacute;es. Par
-        exemple, ce drapeau peut &ecirc;tre utilis&eacute; pour supprimer la
-        partie ``<code>.www</code>'', dans un jeu de r&egrave;gles au niveau
-        du r&eacute;pertoire, lorsque vous faites intervenir une redirection
-        externe (o&ugrave; la partie ``<code>.www</code>'' ne doit pas
-        figurer !).</dd>
-
-        <dt>'<code>cookie|CO=</code><em>NOM</em>:<em>VAL</em>:<em>domaine</em>[:<em>dur&eacute;e
-       de vie</em>[:<em>chemin</em>[:<em>s&eacute;curit&eacute;</em>[:<em>http
-       seulement</em>]]]]'
-        (d&eacute;finit un cookie)</dt><dd>
-        Ce drapeau d&eacute;finit un cookie au niveau du navigateur du client.
-       Le nom du cookie est sp&eacute;cifi&eacute; par <em>NOM</em>, et sa valeur
-       par <em>VAL</em>. Le champ <em>domaine</em> est le domaine du
-       cookie, comme '.apache.org', le champ optionnel
-       <em>dur&eacute;e de vie</em> est la dur&eacute;e de vie du cookie en minutes
-       (0 signifie que le cookie expire &agrave; la fin de la session),
-       et le champ optionnel <em>chemin</em> le chemin du cookie. Si
-       <em>s&eacute;curit&eacute;</em> est d&eacute;fini &agrave; 'secure, 'true' ou '1', le cookie ne peut
-       &ecirc;tre transmis que par une connexion s&eacute;curis&eacute;e. Si <em>http
-       seulement</em> est d&eacute;fini &agrave; ''HttpOnly', 'true' ou '1', le
-       drapeau <code>HttpOnly</code> est utilis&eacute;, ce qui rend le cookie
-       inaccessible au code JavaScript sur les navigateurs qui
-       supportent ce dernier.</dd>
-
-       <dt>'<code>discardpathinfo|DPI'
-       (ne pas tenir compte de PATH_INFO)</code></dt><dd>
-        <p>Dans un contexte de r&eacute;pertoire, l'URI par rapport auquel
-       chaque r&egrave;gle <directive>RewriteRule</directive> effectue ses
-       comparaisons est la concat&eacute;nation de la valeur courante de l'URI
-       et de PATH_INFO.</p>
-
-       <p>L'URI courant est soit l'URI initial tel qu'envoy&eacute; par le
-       client, soit le r&eacute;sultat d'un passage &agrave; travers le processus de
-       r&eacute;&eacute;criture, soit le r&eacute;sultat de la r&egrave;gle pr&eacute;c&eacute;dente du processus
-       de r&eacute;&eacute;criture courant.</p>
-
-       <p>Par contre, PATH_INFO qui est ajout&eacute; &agrave; l'URI avant chaque
-       r&egrave;gle refl&egrave;te la valeur qu'avait PATH_INFO avant le processus de
-       r&eacute;&eacute;criture. En cons&eacute;quence, si de larges parties de l'URI sont
-       retenues et copi&eacute;es dans une cha&icirc;ne de substitution au cours de
-       multiples directives <directive>RewriteRule</directive>, et ceci
-       sans tenir compte de la part qui revient &agrave; PATH_INFO dans l'URI,
-       il se peut que l'URI final se voit ajouter plusieurs copies de
-       PATH_INFO.</p>
-
-       <p>Utilisez ce drapeau dans toute substitution o&ugrave; le PATH_INFO
-       r&eacute;sultant de la mise en correspondance pr&eacute;c&eacute;dente de cette
-       requ&ecirc;te avec le syst&egrave;me de fichiers ne pr&eacute;sente pas d'int&eacute;r&ecirc;t.
-       Ce drapeau indique qu'il ne faut pas tenir compte du PATH_INFO
-       construit avant que le processus de r&eacute;&eacute;criture courant ait
-       commenc&eacute;. PATH_INFO ne sera pas recalcul&eacute; avant que le processus
-       de r&eacute;&eacute;criture courant se termine. Les r&egrave;gles suivantes
-       rencontr&eacute;es au cours du processus ne verront que le r&eacute;sultat
-       direct des substitutions, sans ajout du PATH_INFO.</p></dd>
-
-        <dt>
-        '<code>env|E=</code><em>VAR</em>:<em>VAL</em>'
-        (d&eacute;finit une variable d'environnement)</dt><dd>
-        Ce drapeau force une variable d'environnement nomm&eacute;e
-       <em>VAR</em> &agrave; prendre la valeur <em>VAL</em>, o&ugrave;
-       <em>VAL</em> peut contenir des r&eacute;f&eacute;rences arri&egrave;res vers des
-       expressions rationnelles (<code>$N</code> et <code>%N</code>)
-       qui seront &eacute;valu&eacute;es. Vous pouvez utiliser ce drapeau plusieurs
-       fois pour d&eacute;finir plusieurs variables. Les variables peuvent
-       ensuite &ecirc;tre d&eacute;r&eacute;f&eacute;renc&eacute;es dans de nombreux cas, et le plus
-       souvent depuis XSSI (via <code>&lt;!--#echo
-        var="VAR"--&gt;</code>) ou CGI (<code>$ENV{'VAR'}</code>).
-       Vous pouvez d&eacute;r&eacute;f&eacute;rencer la variable dans un mod&egrave;le de
-       directive RewriteCond ult&eacute;rieure, en utilisant
-       <code>%{ENV:VAR}</code>. Ce drapeau permet de supprimer
-       des informations d'une URL, tout en conservant la trace de
-       ces informations.</dd>
-
-        <dt>'<code>forbidden|F</code>' (force l'interdiction d'une
-       URL)</dt><dd>
-        Ce drapeau force l'interdiction de l'URL courante - il renvoie
-       imm&eacute;diatement une r&eacute;ponse HTTP 403 (FORBIDDEN). Ce drapeau,
-       associ&eacute; &agrave; des directives RewriteCond appropri&eacute;es, permet de
-       bloquer de mani&egrave;re conditionnelle certaines URLs.</dd>
-
-        <dt>'<code>gone|G</code>' (signale la non-existence d'une
-       URL)</dt><dd>
-        Ce drapeau signale la non-existence d'une URL - il renvoie
-       imm&eacute;diatement une r&eacute;ponse HTTP 410 (GONE). Il permet de marquer
-       les pages qui n'existent plus comme "gone".</dd>
-
-        <dt>
-        '<code>handler|H</code>=<em>Gestionnaire de contenu</em>'
-        (impose un gestionnaire de contenu)</dt><dd>
-         Impose <em>Gestionnaire de contenu</em> comme gestionnaire de
-        contenu pour le fichier cible. Ce drapeau permet par exemple
-        de simuler la directive
-        <directive module="mod_alias">ScriptAlias</directive> du
-        module <module>mod_alias</module>, qui impose en interne le
-        gestionnaire ``<code>cgi-script</code>'' &agrave; tous les fichiers
-        du r&eacute;pertoire correspondant.<br />
-        Dans un contexte de niveau r&eacute;pertoire, aucune substitution ne
-        doit modifier le chemin. N'utilisez ce drapeau dans un contexte
-        de r&eacute;pertoire qu'avec <code>-</code> (tiret) comme
-        substitution, faute de quoi la requ&ecirc;te echouera.</dd>
-
-        <dt>'<code>last|L</code>'
-        (derni&egrave;re r&egrave;gle)</dt><dd>
-       Termine le processus de r&eacute;&eacute;criture ici et n'applique plus
-       aucune r&egrave;gle de r&eacute;&eacute;criture. Ce drapeau est &eacute;quivalent &agrave; la
-       commande Perl <code>last</code> ou la commande C
-       <code>break</code>. Il permet d'&eacute;viter la r&eacute;&eacute;criture par les
-       r&egrave;gles suivantes d'une URL d&eacute;j&agrave; r&eacute;&eacute;crite. Rappelez-vous
-       cependant que si une directive
-       <directive>RewriteRule</directive> g&eacute;n&egrave;re une redirection
-       interne (ce qui arrive fr&eacute;quemment lors d'une r&eacute;&eacute;criture dans
-       un contexte de r&eacute;pertoire), la requ&ecirc;te sera r&eacute;inject&eacute;e et le
-       processus de r&eacute;&eacute;criture sera r&eacute;it&eacute;r&eacute; &agrave; partir de la
-       premi&egrave;re directive <directive>RewriteRule</directive>.</dd>
-
-        <dt>'<code>next|N</code>'
-        (prochain round)</dt><dd>
-        Relance le processus de r&eacute;&eacute;criture (toujours &agrave; partir de la
-       premi&egrave;re r&egrave;gle). Cette fois, l'URL &agrave; comparer n'est plus l'URL
-       originale, mais plut&ocirc;t l'URL renvoy&eacute;e par la derni&egrave;re r&egrave;gle de
-       r&eacute;&eacute;criture. Ce drapeau est &eacute;quivalent &agrave; la commande Perl
-       <code>next</code> ou la commande C <code>continue</code>. Il
-       permet de red&eacute;marrer le processus de r&eacute;&eacute;criture - en se
-       positionnant imm&eacute;diatement au niveau de la premi&egrave;re r&egrave;gle.
-       <strong>Prenez garde &agrave; ne pas cr&eacute;er de bouclage
-       infini !</strong></dd>
-
-        <dt>'<code>nocase|NC</code>'
-        (insensible &agrave; la casse)</dt><dd>
-        Ce drapeau rend le <em>Mod&egrave;le</em> insensible &agrave; la casse,
-       c'est &agrave; dire ne tenant pas compte des majuscules/minuscules
-       lorsque le <em>Mod&egrave;le</em> est compar&eacute; avec l'URL
-       courante.</dd>
-
-        <dt>
-          '<code>noescape|NE</code>'
-          (pas d'&eacute;chappement de l'URI en sortie)</dt><dd>
-          Ce drapeau emp&ecirc;che mod_rewrite d'appliquer les r&egrave;gles
-         d'&eacute;chappement d'URI usuelles au r&eacute;sultat d'une r&eacute;&eacute;criture.
-         Normalement, les caract&egrave;re sp&eacute;ciaux (comme '%', '$', ';',
-         etc...) sont &eacute;chapp&eacute;s en leurs &eacute;quivalents hexad&eacute;cimaux
-         (respectivement '%25', '%24', et '%3B') ; ce drapeau emp&ecirc;che
-         cela de se produire. Il permet au symbole '%' d'appara&icirc;tre
-         en sortie, comme dans
-<example>
-    RewriteRule ^/foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
-</example>
-          qui remplacerait '<code>/foo/zed</code>' par la requ&ecirc;te plus
-         sure '<code>/bar?arg=P1=zed</code>'.
-        </dd>
-
-        <dt>
-          '<code>nosubreq|NS</code>'
-          (sous-requ&ecirc;tes non concern&eacute;es)</dt><dd>
-          <p>Si ce drapeau est pr&eacute;sent, le moteur de r&eacute;&eacute;criture
-         n'applique pas la r&egrave;gle si la requ&ecirc;te courante est une
-         sous-requ&ecirc;te interne. Par exemples, des sous-requ&ecirc;tes sont
-         g&eacute;n&eacute;r&eacute;es en interne par Apache lorsque
-         <module>mod_dir</module> essaie de trouver des
-         informations &agrave; propos d'&eacute;ventuels fichiers de r&eacute;pertoire par
-         d&eacute;faut (fichiers <code>index.xxx</code>). Dans le cas d'une
-         sous-requ&ecirc;te, ce n'est pas toujours utile, et peut m&ecirc;me
-         provoquer des erreurs si l'ensemble du jeu de r&egrave;gles est
-         appliqu&eacute;. Ce drapeau permet d'exclure certaines r&egrave;gles.</p>
-          <p>Pour d&eacute;terminer si l'on doit appliquer une r&egrave;gle ou pas,
-         si une URL est pr&eacute;fix&eacute;e par un script CGI, pour forcer son
-         traitement par le script CGI, vous allez probablement
-         rencontrer des probl&egrave;mes (ou tout du moins une surcharge
-         significative) avec les sous-requ&ecirc;tes. Dans ce cas,
-         utilisez ce drapeau</p>
-        </dd>
-
-        <dt>
-          '<code>proxy|P</code>' (impose le mandataire)</dt><dd>
-          Ce drapeau force l'envoi de la partie substitution en
-         interne en tant que requ&ecirc;te mandataire, et (le processus de
-         r&eacute;&eacute;criture s'arr&ecirc;te ici) son envoi imm&eacute;diat vers le <a
-          href="mod_proxy.html">module proxy</a>. Vous devez vous
-         assurer que la cha&icirc;ne de substitution est un URI valide
-         (d&eacute;butant typiquement par
-         <code>http://</code><em>nom d'h&ocirc;te</em>) pouvant &ecirc;tre trait&eacute;e
-         par le module proxy d'Apache. Si ce n'est pas le cas, le
-         module proxy vous renverra une erreur. Utilisez ce drapeau
-         pour impl&eacute;menter de mani&egrave;re plus puissante la directive <a
-          href="mod_proxy.html#proxypass">ProxyPass</a>, pour mettre
-         en correspondance un contenu distant dans l'espace de
-         nommage du serveur local.
-
-          <p>Note: <module>mod_proxy</module> doit &ecirc;tre activ&eacute; pour
-         pouvoir utiliser ce drapeau..</p>
-        </dd>
-
-        <dt>
-          '<code>passthrough|PT</code>'
-          (passage au gestionnaire suivant)</dt><dd>
-           Ce drapeau force le moteur de r&eacute;&eacute;criture &agrave; affecter
-          la valeur du champ <code>filename</code> au
-          champ <code>uri</code> de la structure interne
-          <code>request_rec</code>. Ce drapeau n'est qu'une astuce
-          permettant un traitement suppl&eacute;mentaire de la sortie des
-          directives <code>RewriteRule</code>, en utilisant
-          <code>Alias</code>, <code>ScriptAlias</code>,
-          <code>Redirect</code>, ou d'autres directives en provenance
-          de divers traducteurs URI/nom de fichier. Par exemple, pour
-          r&eacute;&eacute;crire <code>/abc</code> vers <code>/def</code> avec
-          <module>mod_rewrite</module>, puis <code>/def</code> vers
-          <code>/ghi</code> avec <module>mod_alias</module> :
-<example>
-    RewriteRule ^/abc(.*)  /def$1 [PT]<br />
-    Alias       /def       /ghi
-</example>
-          Si le drapeau <code>PT</code> est omis,
-         <code>mod_rewrite</code> va r&eacute;&eacute;crire
-         <code>uri=/abc/...</code> vers <code>filename=/def/...</code>
-         comme tout traducteur URI/nom de fichier compatible avec
-         l'API doit le faire. Puis, <code>mod_alias</code> va tenter
-         une transition URI vers nom de fichier, et va &eacute;chouer.
-
-          <p>Note: <strong>Vous devez utiliser ce drapeau si vous
-         voulez m&eacute;langer des directives en provenance de diff&eacute;rents
-         modules qui effectuent une traduction
-         URL/nom de fichier</strong>. Un exemple typique est
-         l'utilisation conjointe de <module>mod_alias</module> et de
-         <module>mod_rewrite</module>.</p>
-
-          <p>Le drapeau <code>PT</code> rend implicite la pr&eacute;sence du
-         drapeau <code>L</code> flag : la r&eacute;&eacute;criture sera stopp&eacute;e afin
-         de transmettre la requ&ecirc;te &agrave; la phase suivante du
-         traitement.</p>
-        </dd>
-
-        <dt>'<code>qsappend|QSA</code>'
-        (ajout d'une cha&icirc;ne de requ&ecirc;te - query string)</dt><dd>
-        Ce drapeau force le moteur de r&eacute;&eacute;criture &agrave; ajouter la cha&icirc;ne
-       de substitution &agrave; la cha&icirc;ne de requ&ecirc;te au lieu de remplacer
-       cette derni&egrave;re par la cha&icirc;ne de substitution.
-       Vous pouvez ainsi ajouter des donn&eacute;es &agrave; la cha&icirc;ne de requ&ecirc;te
-       via une r&egrave;gle de r&eacute;&eacute;criture.</dd>
-
-        <dt>'<code>redirect|R</code>
-          [=<em>code</em>]' (force une <a id="redirect"
-          name="redirect">redirection</a>)</dt><dd>
-        <p>Pr&eacute;fixe la <em>cha&icirc;ne de substitution</em> par
-       <code>http://h&ocirc;te[:port]/</code> (ce qui fait de la nouvelle
-       URL un URI) pour forcer une redirection externe. Si aucun
-       <em>code</em> n'est d&eacute;fini, une r&eacute;ponse HTTP 302 (MOVED
-          TEMPORARILY) sera renvoy&eacute;e. Si vous voulez renvoyer un autre
-         code de r&eacute;ponse, sp&eacute;cifiez simplement le nombre appropri&eacute; ou
-         utilisez un des noms symboliques suivants : <code>temp</code>
-         (d&eacute;faut), <code>permanent</code> ou <code>seeother</code>.
-         Vous pouvez utiliser ce drapeau pour que les r&egrave;gles mettent
-         l'URL sous forme canonique et la renvoient au client, pour
-         traduire ``<code>/~</code>'' en ``<code>/u/</code>'', ou pour
-         ajouter syst&eacute;matiquement un slash &agrave;
-         <code>/u/</code><em>utilisateur</em>, etc...<br />
-          <strong>Note:</strong> Si vous utilisez ce drapeau,
-         assurez-vous que le champ de substitution est une URL
-         valide ! Si ce n'est pas le cas, vous serez redirig&eacute; vers
-         une URL invalide. Souvenez-vous que, s'il est seul, ce
-         drapeau va seulement pr&eacute;fixer l'URL par
-         <code>http://h&ocirc;te[:port]/</code>, et que le processus de
-         r&eacute;&eacute;criture va se poursuivre. En g&eacute;n&eacute;ral, vous voudrez plut&ocirc;t
-         stopper la r&eacute;&eacute;criture &agrave; ce point, et rediriger imm&eacute;diatement.
-         Pour stopper la r&eacute;&eacute;criture, vous pouvez ajouter le drapeau
-         'L'.</p>
-          <p>Bien qu'on utilise en g&eacute;n&eacute;ral ce drapeau pour les
-         redirections, on peut sp&eacute;cifier tout code de statut valide.
-         Si le code de statut est en dehors de la gamme des codes de
-         redirection (300-399), la cha&icirc;ne de <em>Substitution</em> est
-         supprim&eacute;e et le processus de r&eacute;&eacute;criture stopp&eacute; comme si le
-         drapeau <code>L</code> &eacute;tait pr&eacute;sent.</p>
-        </dd>
-
-        <dt>'<code>skip|S</code>=<em>num</em>'
-        (saute la/les r&egrave;gle(s) suivantes)</dt><dd>
-        Ce drapeau force le moteur de r&eacute;&eacute;criture &agrave; sauter les
-       <em>num</em> r&egrave;gles cons&eacute;cutives suivantes, si la r&egrave;gle courante
-       s'applique. Il permet de simuler une structure if-then-else : la
-       derni&egrave;re r&egrave;gle du bloc "then" devient <code>skip=N</code>, o&ugrave; N
-       est le nombre de r&egrave;gles contenues dans le bloc "else" (ce qui est
-       un comportement diff&eacute;rent de celui du drapeau 'chain|C' !).</dd>
-
-        <dt>
-        '<code>type|T</code>=<em>type MIME</em>'
-        (force le type MIME)</dt><dd>
-         Force le <glossary>type MIME</glossary> du fichier cible &agrave;
-        <em>type MIME</em>. Ceci permet de d&eacute;finir le type de contenu
-        en fonction de certaines conditions.
-        Dans un contexte de r&eacute;pertoire, utilisez exclusivement
-        <code>-</code> (tiret) comme substitution, faute de quoi le
-        type MIME d&eacute;fini &agrave; l'aide de ce drapeau sera perdu &agrave; cause d'un
-        rejeu du traitement en interne.</dd>
-      </dl>
-
+      &ecirc;tre choisis dans la table suivante. Vous trouverez plus de
+      d&eacute;tails, et des exemples pour chaque drapeau dans le <a
+      href="../rewrite/flags.html">document &agrave; propos des drapeaux de
+      r&eacute;&eacute;criture.</a></p>
+
+      <table border="1" style="zebra">
+    <tr><th>Drapeaux et syntaxe</th>
+        <th>Fonction</th>
+    </tr>
+    <tr>
+        <td>B</td>
+        <td>Echappe les caract&egrave;res non-alphanum&eacute;riques
+       dans les r&eacute;f&eacute;rences arri&egrave;res <em>avant</em>
+       d'appliquer la transformation. <em><a
+        href="../rewrite/flags.html#flag_b">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>backrefnoplus|BNP</td>
+        <td>Avec ce drapeau, si les r&eacute;f&eacute;rences arri&egrave;res sont &eacute;chapp&eacute;es,
+       les espaces seront &eacute;chapp&eacute;s en %20 au lieu de +. Ceci s'av&egrave;re
+       utile lorsqu'une r&eacute;f&eacute;rence arri&egrave;re est utilis&eacute;e dans la partie
+       chemin, et non dans la cha&icirc;ne de param&egrave;tres de la requ&ecirc;te ;
+       pour plus de d&eacute;tails, voir <em><a
+       href="../rewrite/flags.html#flag_bnp">ici.</a></em></td>
+    </tr>
+
+    <tr>        
+       <td>chain|C</td>
+        <td>La r&egrave;gle est cha&icirc;n&eacute;e avec la r&egrave;gle suivante. Si la r&egrave;gle
+       &eacute;choue, la ou les r&egrave;gles avec lesquelles elle est est cha&icirc;n&eacute;e
+       seront saut&eacute;es. <em><a
+        href="../rewrite/flags.html#flag_c">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>cookie|CO=<em>NAME</em>:<em>VAL</em></td>
+        <td>D&eacute;finit un cookie au niveau du navigateur client. La syntaxe
+       compl&egrave;te est :
+       CO=<em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>]]]] <em><a href="../rewrite/flags.html#flag_co">details ...</a></em>
+       <em><a href="../rewrite/flags.html#flag_co">d&eacute;tails ...</a></em>
+        </td>
+    </tr>
+    <tr>
+        <td>discardpath|DPI</td>
+        <td>Supprime la partie PATH_INFO de l'URI r&eacute;&eacute;crit. <em><a
+       href="../rewrite/flags.html#flag_dpi">d&eacute;tails
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>END</td>
+        <td>Stoppe le processus de r&eacute;&eacute;criture imm&eacute;diatement et
+       n'applique plus aucune r&egrave;gle. Emp&ecirc;che aussi l'application
+       ult&eacute;rieure de r&egrave;gles de r&eacute;&eacute;criture dans les contextes de
+       r&eacute;pertoire et de fichier .htaccess (disponible &agrave; partir de la
+       version 2.3.9 du serveur HTTP Apache). <em><a
+       href="../rewrite/flags.html#flag_end">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>    
+        <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
+        <td>D&eacute;finit la variable d'environnement <em>VAR</em> (&agrave; la valeur
+       <em>VAL</em> si elle est fournie). La variante !<em>VAR</em>
+       annule la d&eacute;finition de la variable <em>VAR</em>.<em><a
+        href="../rewrite/flags.html#flag_e">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>forbidden|F</td>
+        <td>Renvoie une r&eacute;ponse 403 FORBIDDEN au navigateur client.
+       <em><a href="../rewrite/flags.html#flag_f">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>gone|G</td>
+        <td>Renvoie un message d'erreur 410 GONE au navigateur client. <em><a
+        href="../rewrite/flags.html#flag_g">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>Handler|H=<em>Gestionnaire de contenu</em></td>
+        <td>L'URI r&eacute;sultant est envoy&eacute; au <em>Gestionnaire de
+       contenu</em> pour traitement. <em><a
+        href="../rewrite/flags.html#flag_h">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>last|L</td>
+        <td>Arr&ecirc;te le processus de r&eacute;&eacute;criture imm&eacute;diatement et n'applique
+       plus aucune r&egrave;gle. Pr&ecirc;tez une attention particuli&egrave;re aux mises
+       en garde concernant les contextes de niveau r&eacute;pertoire et
+       .htaccess (voir aussi le drapeau END). <em><a
+        href="../rewrite/flags.html#flag_l">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>next|N</td>
+        <td>R&eacute;ex&eacute;cute le processus de r&eacute;&eacute;criture &agrave; partir de la premi&egrave;re
+       r&egrave;gle, en utilisant le r&eacute;sultat du jeu de r&egrave;gles, sous r&eacute;serve
+       qu'il y ait un point de d&eacute;part. <em><a
+       href="../rewrite/flags.html#flag_n">d&eacute;tails
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>nocase|NC</td>
+        <td>Rend la comparaison entre mod&egrave;les insensible &agrave; la casse.
+       <em><a href="../rewrite/flags.html#flag_nc">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>noescape|NE</td>
+        <td>Emp&ecirc;che mod_rewrite d'effectuer un &eacute;chappement hexad&eacute;cimal
+       des caract&egrave;res sp&eacute;ciaux dans le r&eacute;sultat de la r&eacute;&eacute;criture. <em><a
+        href="../rewrite/flags.html#flag_ne">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>nosubreq|NS</td>
+        <td>La r&egrave;gle est saut&eacute;e si la requ&ecirc;te courante est une
+       sous-requ&ecirc;te interne. <em><a
+        href="../rewrite/flags.html#flag_ns">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>proxy|P</td>
+        <td>Force l'envoi en interne de l'URL de substitution en tant
+       que requ&ecirc;te mandataire. <em><a
+       href="../rewrite/flags.html#flag_p">d&eacute;tails
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>passthrough|PT</td>
+        <td>L'URI r&eacute;sultant est repass&eacute; au moteur de mise en
+       correspondance des URLs pour y &ecirc;tre trait&eacute; par d'autres
+       traducteurs URI-vers-nom de fichier, comme <code>Alias</code> ou
+       <code>Redirect</code>. <em><a
+        href="../rewrite/flags.html#flag_pt">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>qsappend|QSA</td>
+        <td>Ajoute toute cha&icirc;ne de param&egrave;tres pr&eacute;sente dans l'URL de la
+       requ&ecirc;te originale &agrave; toute cha&icirc;ne de param&egrave;tres cr&eacute;&eacute;e dans la
+       cible de r&eacute;&eacute;criture. <em><a
+        href="../rewrite/flags.html#flag_qsa">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>qsdiscard|QSD</td>
+        <td>Supprime toute cha&icirc;ne de param&egrave;tres de l'URI entrant. <em><a
+       href="../rewrite/flags.html#flag_qsd">d&eacute;tails
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>redirect|R[=<em>code</em>]</td>
+        <td>Force une redirection externe, avec un code de statut HTTP
+       optionnel. <em><a
+        href="../rewrite/flags.html#flag_r">d&eacute;tails ...</a></em>
+        </td>
+    </tr>
+    <tr>
+        <td>skip|S=<em>nombre</em></td>
+        <td>Si la r&egrave;gle courante s'applique, le moteur de r&eacute;&eacute;criture
+       doit sauter les <em>nombre</em> r&egrave;gles suivantes. <em><a
+        href="../rewrite/flags.html#flag_s">d&eacute;tails ...</a></em></td>
+    </tr>
+    <tr>
+        <td>type|T=<em>MIME-type</em></td>
+        <td>Force l'attribution du <glossary>Type-MIME</glossary>
+       sp&eacute;cifi&eacute; au fichier cible. <em><a
+        href="../rewrite/flags.html#flag_t">d&eacute;tails ...</a></em></td>
+    </tr>
+    </table>
 
 <note><title>D&eacute;veloppement du r&eacute;pertoire home</title>
 <p> Quand la cha&icirc;ne de substitution commence par quelque chose comme
@@ -1719,49 +1510,6 @@ configuration du module <module>mod_userdir</module>.</p>
 
 <p> Ce d&eacute;veloppement n'est pas effectu&eacute; si le drapeau <em>PT</em> est
 utilis&eacute; dans la directive <directive module="mod_rewrite">RewriteRule</directive></p>
-</note>
-
-<note><title>R&eacute;&eacute;critures dans le contexte de r&eacute;pertoire</title>
-
-<p>Le moteur de r&eacute;&eacute;criture peut &ecirc;tre utilis&eacute; dans les fichiers <a
-href="../howto/htaccess.html">.htaccess</a>. Pour activer le moteur de
-r&eacute;&eacute;criture pour ces fichiers, vous devez pr&eacute;ciser "<code>RewriteEngine
-On</code>" <strong>et</strong> "<code>Options FollowSymLinks</code>"
-doit &ecirc;tre activ&eacute;. Si votre administrateur a interdit la surcharge de
-<code>FollowSymLinks</code> pour un r&eacute;pertoire utilisateur, vous ne
-pouvez pas utiliser le moteur de r&eacute;&eacute;criture. Cette restriction est
-n&eacute;cessaire pour des raisons de s&eacute;curit&eacute;.</p>
-
-<p>Lorsqu'on utilise le moteur de r&eacute;&eacute;criture dans les fichiers
-<code>.htaccess</code>, le pr&eacute;fixe du r&eacute;pertoire (qui est
-toujours le m&ecirc;me pour un r&eacute;pertoire donn&eacute;) est automatiquement
-<em>supprim&eacute;</em> pour la comparaison du mod&egrave;le et automatiquement
-<em>ajout&eacute;</em> une fois la substitution effectu&eacute;e. Cette fonctionnalit&eacute;
-est n&eacute;cessaire pour de nombreux cas de r&eacute;&eacute;criture ; sans elle, vous
-seriez oblig&eacute; de tenir compte du r&eacute;pertoire parent pour la comparaison,
-ce qui n'est pas toujours
-possible. Il y a une exception : si une cha&icirc;ne de substitution commence
-par <code>http://</code>, le pr&eacute;fixe du r&eacute;pertoire ne sera
-<strong>pas</strong> ajout&eacute;, et une redirection externe (ou le passage
-par un mandataire, si le drapeau <strong>P</strong> est utilis&eacute;) sera
-initi&eacute;e. Voir la directive <directive
-module="mod_rewrite">RewriteBase</directive> pour plus de d&eacute;tails.</p>
-
-<p>Le moteur de r&eacute;&eacute;criture peut aussi &ecirc;tre utilis&eacute; dans les sections
-<directive type="section" module="core">Directory</directive> avec les
-m&ecirc;mes r&egrave;gles de comparaison des pr&eacute;fixes que celles qui s'appliquent
-pour les fichiers <code>.htaccess</code>. Cependant, il est en g&eacute;n&eacute;ral
-plus simple, pour &eacute;viter la complication des substitutions de pr&eacute;fixes,
-de d&eacute;finir les r&egrave;gles de r&eacute;&eacute;criture dans le contexte du serveur
-principal ou des h&ocirc;tes virtuels, plut&ocirc;t que dans une section
-<directive type="section" module="core">Directory</directive>.</p>
-
-<p>Bien que du point de vue syntaxique, il soit permis de d&eacute;finir des
-r&egrave;gles de r&eacute;&eacute;criture dans les sections <directive type="section"
-module="core">Location</directive> et <directive
-type="section" module="core">Files</directive>, ce n'est &agrave; priori
-d'aucune utilit&eacute; et n'est pas support&eacute;.</p>
-
 </note>
 
      <p>Voici toutes les combinaisons de substitution et leurs
@@ -1773,40 +1521,73 @@ d'aucune utilit&eacute; et n'est pas support&eacute;.</p>
       /chemin/infochemin</code>'':</strong><br />
       </p>
 
-<note><pre>
-<strong>R&egrave;gle</strong>                          <strong>R&eacute;sultat de la substitution</strong>
-----------------------------------------------  ----------------------------------
-^/chemin(.*) autre-chemin$1                      non valide, non support&eacute;
-
-^/chemin(.*) autre-chemin$1  [R]                 non valide, non support&eacute;
-
-^/chemin(.*) autre-chemin$1  [P]                 non valide, non support&eacute;
-----------------------------------------------  ----------------------------------
-^/chemin(.*) /autre-chemin$1                     /autre-chemin/infochemin
-
-^/chemin(.*) /autre-chemin$1 [R]                 http://cet-h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-
-^/chemin(.*) /autre-chemin$1 [P]                 n'a pas lieu d'&ecirc;tre, non support&eacute;
-----------------------------------------------  ----------------------------------
-^/chemin(.*) http://cet-h&ocirc;te/autre-chemin$1      /autre-chemin/infochemin
-
-^/chemin(.*) http://cet-h&ocirc;te/autre-chemin$1 [R]  http://cet-h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-
-^/chemin(.*) http://cet-h&ocirc;te/autre-chemin$1 [P]  n'a pas lieu d'&ecirc;tre, non support&eacute;
-----------------------------------------------  ----------------------------------
-^/chemin(.*) http://autre h&ocirc;te/autre-chemin$1     http://autre h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-
-^/chemin(.*) http://autre h&ocirc;te/autre-chemin$1 [R] http://autre h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-                                                (le drapeau [R] est
-                                               redondant)
-
-^/chemin(.*) http://autre h&ocirc;te/autre-chemin$1 [P] http://autre h&ocirc;te/autre-chemin/infochemin
-                                                via un mandataire interne
-</pre></note>
+<table border="1" style="zebra">
+<tr>
+<th>R&egrave;gle</th>
+<th>R&eacute;sultat de la substitution</th>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) autre_chemin$1</td>
+<td>invalide, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) autre_chemin$1  [R]</td>
+<td>invalide, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) autre_chemin$1  [P]</td>
+<td>invalide, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) /autre_chemin$1</td>
+<td>/autre_chemin/info_chemin</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) /autre_chemin$1 [R]</td>
+<td>http://cet_hote/autre_chemin/info_chemin via une redirection externe</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) /autre_chemin$1 [P]</td>
+<td>sans objet, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1</td>
+<td>/autre_chemin/info_chemin</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [R]</td>
+<td>http://cet_hote/autre_chemin/info_chemin via une redirection externe</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [P]</td>
+<td>sans objet, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1</td>
+<td>http://autre_hote/autre_chemin/info_chemin via une redirection externe</td>
+</tr>
+
+<tr>
+<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1 [R]</td>
+<td>http://autre_hote/autre_chemin/info_chemin (le drapeau [R] est
+redondant)</td>
+</tr>
+
+<tr>
+<td>^/somepath(.*) http://otherhost/otherpath$1 [P]</td>
+<td>http://otherhost/otherpath/pathinfo via internal proxy</td>
+</tr>
+</table>
 
       <p><strong>Dans une configuration de niveau r&eacute;pertoire pour
       <code>/chemin</code><br />
@@ -1816,41 +1597,77 @@ d'aucune utilit&eacute; et n'est pas support&eacute;.</p>
       /chemin/chemin-local/infochemin</code>'':</strong><br />
      </p>
 
-<note><pre>
-<strong>R&egrave;gle</strong>                          <strong>R&eacute;sultat de la substitution</strong>
-----------------------------------------------  ----------------------------------
-^chemin-local(.*) autre-chemin$1                      /chemin/autre-chemin/infochemin
-
-^chemin-local(.*) autre-chemin$1  [R]                 http://cet-h&ocirc;te/chemin/autre-chemin/infochemin
-                                                via redirection externe
-
-^chemin-local(.*) autre-chemin$1  [P]                 n'a pas lieu d'&ecirc;tre, non support&eacute;
-----------------------------------------------  ----------------------------------
-^chemin-local(.*) /autre-chemin$1                     /autre-chemin/infochemin
-
-^chemin-local(.*) /autre-chemin$1 [R]                 http://cet-h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-
-^chemin-local(.*) /autre-chemin$1 [P]                 n'a pas lieu d'&ecirc;tre, non support&eacute;
-----------------------------------------------  ----------------------------------
-^chemin-local(.*) http://cet-h&ocirc;te/autre-chemin$1      /autre-chemin/infochemin
-
-^chemin-local(.*) http://cet-h&ocirc;te/autre-chemin$1 [R]  http://cet-h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-
-^chemin-local(.*) http://cet-h&ocirc;te/autre-chemin$1 [P]  n'a pas lieu d'&ecirc;tre, non support&eacute;
-----------------------------------------------  ----------------------------------
-^chemin-local(.*) http://autre h&ocirc;te/autre-chemin$1     http://autre h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-
-^chemin-local(.*) http://autre h&ocirc;te/autre-chemin$1 [R] http://autre h&ocirc;te/autre-chemin/infochemin
-                                                via redirection externe
-                                                (le drapeau [R] est
-                                               redondant)
+<table border="1" style="zebra">
+
+<tr>
+<th>R&egrave;gle</th>
+<th>R&eacute;sultat de la substitution</th>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) autre-chemin$1</td>
+<td>/chemin/autre-chemin/infochemin</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) autre-chemin$1  [R]</td>
+<td>http://cet-h&ocirc;te/chemin/autre-chemin/infochemin via redirection
+externe</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) autre-chemin$1  [P]</td>
+<td>n'a pas lieu d'&ecirc;tre, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) /autre-chemin$1</td>
+<td>/autre-chemin/infochemin</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) /autre-chemin$1 [R]</td>
+<td>http://cet-h&ocirc;te/autre-chemin/infochemin via redirection externe</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) /autre-chemin$1 [P]</td>
+<td>n'a pas lieu d'&ecirc;tre, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) http://cet-h&ocirc;te/autre-chemin$1</td>
+<td>/autre-chemin/infochemin</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) http://cet-h&ocirc;te/autre-chemin$1 [R]</td>
+<td>http://cet-h&ocirc;te/autre-chemin/infochemin via redirection externe</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) http://cet-h&ocirc;te/autre-chemin$1 [P]</td>
+<td>n'a pas lieu d'&ecirc;tre, non support&eacute;</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) http://autre h&ocirc;te/autre-chemin$1</td>
+<td>http://autre h&ocirc;te/autre-chemin/infochemin via redirection externe</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) http://autre h&ocirc;te/autre-chemin$1 [R]</td>
+<td>http://autre h&ocirc;te/autre-chemin/infochemin via redirection externe
+(le drapeau [R] est redondant)</td>
+</tr>
+
+<tr>
+<td>^chemin-local(.*) http://autre h&ocirc;te/autre-chemin$1 [P]</td>
+<td>http://autre h&ocirc;te/autre-chemin/infochemin via un mandataire interne</td>
+</tr>
+
+</table>
 
-^chemin-local(.*) http://autre h&ocirc;te/autre-chemin$1 [P] http://autre h&ocirc;te/autre-chemin/infochemin
-                                                via un mandataire interne
-</pre></note>
   </usage>
  </directivesynopsis>
 </modulesynopsis>