]> granicus.if.org Git - apache/commitdiff
Update transformations
authorRich Bowen <rbowen@apache.org>
Mon, 25 Oct 2010 14:11:52 +0000 (14:11 +0000)
committerRich Bowen <rbowen@apache.org>
Mon, 25 Oct 2010 14:11:52 +0000 (14:11 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1027128 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/core.html.fr
docs/manual/mod/mod_proxy.html.en
docs/manual/mod/mod_proxy.html.fr
docs/manual/mod/mod_proxy.xml.ja
docs/manual/mod/quickreference.html.de
docs/manual/mod/quickreference.html.en
docs/manual/mod/quickreference.html.es
docs/manual/mod/quickreference.html.ko.euc-kr
docs/manual/mod/quickreference.html.tr.utf8
docs/manual/rewrite/flags.html.en
docs/manual/rewrite/flags.html.fr

index 679ed631286b84595c739abb27350a3e677e13bb..7396ab743ab31ba3c3dd02c546042a3b8ae6e51f 100644 (file)
@@ -878,16 +878,16 @@ lire les fichiers pendant qu'ils sont servis</td></tr>
     <li>Sur certains systèmes multi-processeurs, la projection en
     mémoire peut dégrader les performances du programme
     <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
-    
+    <li>S'il fait l'objet d'une projection en mémoire par
+    <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
+    fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
+    erreur de segmentation.</li>
     </ul>
 
     <p>Pour les configurations de serveur sujettes à ce genre de
     problème, il est préférable de désactiver la projection en mémoire
     des fichiers servis en spécifiant :</p>
-    <p>S'il fait l'objet d'une projection en mémoire par
-    <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
-    fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
-    erreur de segmentation.</p>
+    
     <div class="example"><p><code>
       EnableMMAP Off
     </code></p></div>
@@ -3527,7 +3527,15 @@ enti
     <p>La directive <code class="directive">ServerName</code> permet de définir
     les protocole, nom d'hôte et port d'une requête que le serveur
     utilise pour s'authentifier lui-même. Ceci est utile lors de la
-    création de redirections d'URLs. Par exemple, si le nom de la
+    création de redirections d'URLs.</p>
+
+    <p>La directive <code class="directive">ServerName</code> permet aussi
+    (éventuellement en conjonction avec la directive
+    <code class="directive">ServerAlias</code>) d'identifier de manière unique
+    un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de
+    noms</a>.</p>
+    
+    <p>Par exemple, si le nom de la
     machine hébergeant le serveur web est
     <code>simple.example.com</code>, la machine possède l'alias
     DNS <code>www.example.com</code>, et si vous voulez que le serveur
index c17d88defdac1fb93b992713fb0006316c043bf3..1d70a1be8e55f8c21b44d97352ec3147d63aa132 100644 (file)
@@ -724,7 +724,7 @@ proxied</td></tr>
 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Override error pages for proxied content</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
 <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
 <tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.0 and later</td></tr>
@@ -843,13 +843,24 @@ through</td></tr>
     then</p>
 
     <div class="example"><p><code>
-      ProxyPass /mirror/foo/ http://backend.example.com/
+        &lt;Location /mirror/foo/&gt;<br />
+        <span class="indent">
+          ProxyPass http://backend.example.com/<br />
+        </span>
+        &lt;/Location&gt;<br />
     </code></p></div>
 
     <p>will cause a local request for
     <code>http://example.com/mirror/foo/bar</code> to be internally converted
     into a proxy request to <code>http://backend.example.com/bar</code>.</p>
 
+    <p>The following alternative syntax is possible, however carries a
+    performance penalty when present in large numbers:</p>
+
+    <div class="example"><p><code>
+        ProxyPass /mirror/foo/ http://backend.example.com/
+    </code></p></div>
+    
     <div class="warning">
     <p>If the first argument ends with a trailing <strong>/</strong>, the second
        argument should also end with a trailing <strong>/</strong> and vice
@@ -861,6 +872,19 @@ through</td></tr>
     <p>The <code>!</code> directive is useful in situations where you don't want
     to reverse-proxy a subdirectory, <em>e.g.</em></p>
 
+    <div class="example"><p><code>
+        &lt;Location /mirror/foo/&gt;<br />
+        <span class="indent">
+          ProxyPass http://backend.example.com/<br />
+        </span>
+        &lt;/Location&gt;<br />
+        &lt;Location /mirror/foo/i&gt;<br />
+        <span class="indent">
+            ProxyPass !<br />
+        </span>
+        &lt;/Location&gt;<br />
+    </code></p></div>
+
     <div class="example"><p><code>
       ProxyPass /mirror/foo/i !<br />
       ProxyPass /mirror/foo http://backend.example.com
@@ -878,7 +902,10 @@ through</td></tr>
       <code class="directive"><a href="#proxypass">ProxyPass</a></code> rules starting with the
       longest URLs first. Otherwise later rules for longer URLS will be hidden
       by any earlier rule which uses a leading substring of the URL. Note that
-      there is some relation with worker sharing.</p>
+      there is some relation with worker sharing. In contrast, only one
+      <code class="directive"><a href="#proxypass">ProxyPass</a></code> directive can be placed
+      in a <code class="directive"><a href="../mod/core.html#location">Location</a></code> block, and the most
+      specific location will take precedence.</p>
 
       <p>For the same reasons exclusions must come <em>before</em> the
       general <code class="directive">ProxyPass</code> directives.</p>
index d604a2e0b2e52b53b6c1486246c4273f73209c02..fd6b61a91b116122fc5f782e328d07e6e7f94cec 100644 (file)
@@ -804,7 +804,7 @@ mandat
 mandatés</td></tr>
 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyErrorOverride On|Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyErrorOverride Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.0 d'Apache</td></tr>
@@ -936,13 +936,25 @@ l'espace d'URLs du serveur local</td></tr>
     <code>http://example.com/</code> ; alors la ligne</p>
 
     <div class="example"><p><code>
-      ProxyPass /miroir/foo/ http://backend.example.com/
+      &lt;Location /miroir/foo/&gt;<br />
+        <span class="indent">
+          ProxyPass http://backend.example.com/<br />
+        </span>
+        &lt;/Location&gt;<br />
     </code></p></div>
 
     <p>va convertir en interne toute requête pour
     <code>http://example.com/miroir/foo/bar</code> en une requête
     mandatée pour <code>http://backend.example.com/bar</code>.</p>
 
+    <p>La syntaxe alternative suivante est valide, bien qu'elle induise
+    une dégradation des performances lorsqu'elle est présente en grand
+    nombre :</p>
+
+    <div class="example"><p><code>
+        ProxyPass /miroir/foo/ http://backend.example.com/
+    </code></p></div>
+
     <div class="warning">
     <p>Si le premier argument se termine par un slash
     <strong>/</strong>, il doit en être de même pour le second argument
@@ -955,6 +967,19 @@ l'espace d'URLs du serveur local</td></tr>
     <p>Le drapeau <code>!</code> permet de soustraire un sous-répertoire
     du mandat inverse, comme dans l'exemple suivant :</p>
 
+    <div class="example"><p><code>
+      &lt;Location /miroir/foo/&gt;<br />
+        <span class="indent">
+          ProxyPass http://backend.example.com/<br />
+        </span>
+        &lt;/Location&gt;<br />
+        &lt;Location /miroir/foo/i&gt;<br />
+        <span class="indent">
+            ProxyPass !<br />
+        </span>
+        &lt;/Location&gt;<br />
+    </code></p></div>
+
     <div class="example"><p><code>
       ProxyPass /miroir/foo/i !<br />
       ProxyPass /miroir/foo http://backend.example.com
@@ -972,7 +997,10 @@ l'espace d'URLs du serveur local</td></tr>
       l'URL la plus longue à la plus courte. Dans le cas contraire, les
       règles situées après une règle dont l'URL correspond au début de
       leur propre URL seront ignorées. Notez que tout ceci est en
-      relation avec le partage de workers.</p>
+      relation avec le partage de workers. Par contre, on ne peut placer
+      qu'une seule directive <code class="directive"><a href="#proxypass">ProxyPass</a></code> dans une section
+      <code class="directive"><a href="../mod/core.html#location">Location</a></code>, et c'est la section
+      la plus spécifique qui l'emportera.</p>
 
       <p>Pour les mêmes raisons, les exclusions doivent se situer
       <em>avant</em> les directives <code class="directive">ProxyPass</code>
index fa5d359230c252bcec8b0cc813b54963ccce2a4d..3e39b9932ee2a40d0bb2b95e2ef24e091083a508 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 344971:1021468 (outdated) -->
+<!-- English Revision: 344971:1026184 (outdated) -->
 
 <!--
  Licensed to the Apache Software Foundation (ASF) under one or more
index 630b4b7d4038b2113083840e4794a46c64e5cae9..7ad21e8c607d1f46104acc774ec5674bbec0d4c1 100644 (file)
@@ -602,7 +602,7 @@ response</td></tr>
 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
 proxied</td></tr>
 <tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr>
index c92e867d52d2ffef4ea829393241b88e371ae541..d77a7a12eb3c1b545759cdaebcef4736cdd9cbce 100644 (file)
@@ -591,7 +591,7 @@ response</td></tr>
 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
 proxied</td></tr>
 <tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr>
index 1b7a18f2b7836e6a977589105a8973bef15312ce..d51be5ec111b9c612c2af91008e6a8f84ffe46ca 100644 (file)
@@ -598,7 +598,7 @@ response</td></tr>
 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
 proxied</td></tr>
 <tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr>
index ed23b790746b5f83b2ff8bfb006df23842611d94..a035188e4b95374594155fd8645762adc010ef45 100644 (file)
@@ -543,7 +543,7 @@ response</td></tr>
 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
 proxied</td></tr>
 <tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr>
index ab8ce9c01811ae05bac196c37cd947e5c150eaaf..10a1f0e273940aa7369112460843c67153c65a2c 100644 (file)
@@ -595,7 +595,7 @@ response</td></tr>
 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</a></td><td></td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Words, hosts, or domains that are banned from being
 proxied</td></tr>
 <tr><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domain</var></a></td><td></td><td>sk</td><td>E</td></tr><tr><td class="descr" colspan="4">Default domain name for proxied requests</td></tr>
-<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>sk</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
+<tr class="odd"><td><a href="mod_proxy.html#proxyerroroverride">ProxyErrorOverride On|Off</a></td><td> Off </td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Override error pages for proxied content</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftpdircharset">ProxyFtpDirCharset <var>character set</var></a></td><td> ISO-8859-1 </td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Define the character set for proxied FTP listings</td></tr>
 <tr class="odd"><td><a href="mod_proxy_ftp.html#proxyftpescapewildcards">ProxyFtpEscapeWildcards [on|off]</a></td><td></td><td>skd</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Whether wildcards in requested filenames are escaped when sent to the FTP server</td></tr>
 <tr><td><a href="mod_proxy_ftp.html#proxyftplistonwildcard">ProxyFtpListOnWildcard [on|off]</a></td><td></td><td>skd</td><td>E</td></tr><tr><td class="descr" colspan="4">Whether wildcards in requested filenames trigger a file listing</td></tr>
index da77ee9c5917851167893cdb46fc9f935f264b25..fd45ac12c3d66ffcb8e1c5a42b34648843e0b0b9 100644 (file)
@@ -353,8 +353,9 @@ argument to <code>index.php</code>, however, the <code class="directive"><a href
 is already for <code>index.php</code>, the <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> will be skipped.</p>
 
 <div class="example"><p><code>
-RewriteCond %{REQUEST_URI} !=index.php<br />
-RewriteRule ^(.*) index.php?req=$1 [L]
+RewriteBase /<br />
+RewriteCond %{REQUEST_URI} !=/index.php<br />
+RewriteRule ^(.*) /index.php?req=$1 [L,PT]
 </code></p></div>
 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
index 5638f16b3507aea97310b52f0e16f4347e7d3be7..106ba94d8a7ce1de9eb8e41e625375add16be820 100644 (file)
@@ -5,7 +5,7 @@
               This file is generated from xml source: DO NOT EDIT
         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
       -->
-<title>Les drapeaux du module Apache mod_rewrite - Serveur Apache HTTP</title>
+<title>Les drapeaux de réécriture - Serveur Apache HTTP</title>
 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
@@ -16,7 +16,7 @@
 <img alt="" src="../images/feather.gif" /></div>
 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
 <div id="path">
-<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Les drapeaux du module Apache mod_rewrite</h1>
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Les drapeaux de réécriture</h1>
 <div class="toplang">
 <p><span>Langues Disponibles: </span><a href="../en/rewrite/flags.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
 <a href="../fr/rewrite/flags.html" title="Français">&nbsp;fr&nbsp;</a></p>
 
 <p>Ce document décrit les drapeaux disponibles dans la directive
 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>, en fournissant
-des explications détaillées et des exemples. Vous n'y trouverez pas
-une liste exhaustive de tous les drapeaux disponibles, c'est pourquoi
-vous devez aussi consulter la documentation de référence.</p>
+des explications détaillées et des exemples.</p>
 </div>
 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#introduction">Introduction</a></li>
-<li><img alt="" src="../images/down.gif" /> <a href="#flags">Les drapeaux</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="tech.html">Détails techniques</a></li><li><a href="rewrite_guide.html">Guide de réécriture - exemples
-utiles</a></li><li><a href="rewrite_guide_advanced.html">Guide de réécriture
-avancée - exemples utiles avancés</a></li></ul></div>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_b">B (échappement dans les références arrières)</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_c">C|chain</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_co">CO|cookie</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_dpi">DPI|discardpathinfo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_e">E|env</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_f">F|forbidden</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_g">G|gone</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_h">H|handler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_l">L|last</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_n">N|next</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_nc">NC|nocase</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ne">NE|noescape</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_ns">NS|nosubreq</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_p">P|proxy</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_pt">PT|passthrough</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsa">QSA|qsappend</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_qsd">QSD|qsdiscard</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_r">R|redirect</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_s">S|skip</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#flag_t">T|type</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection and remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="vhosts.html">Serveurs virtuels</a></li><li><a href="proxy.html">Mise en cache</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées et astuces</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul></div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="section">
 <h2><a name="introduction" id="introduction">Introduction</a></h2>
-<p>Le comportement des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par un ou
+<p>Le comportement d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> peut être modifié par un ou
 plusieurs drapeaux. Les drapeaux sont situés en fin de règle, entourés
 de crochets, et séparés le cas échéant par des virgules.</p>
 <div class="example"><p><code>
@@ -48,45 +64,112 @@ qu'une forme longue, comme <code>cookie</code>. Certains drapeaux
 peuvent avoir un ou plusieurs arguments. Les drapeaux sont insensibles à
 la casse.</p>
 
-</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="flags" id="flags">Les drapeaux</a></h2>
-
-<p>Chaque drapeau possède une forme longue et une forme courte. Bien que
+<p>Chaque drapeau (à quelques exceptions près) possède une forme longue et une forme courte. Bien que
 la forme courte soit la plus couramment utilisée, nous vous recommandons
 de vous familiariser avec les drapeaux sous leur forme longue, afin de
 bien mémoriser ce que chaque drapeau est supposé faire.</p>
 
+<p>Les drapeaux qui modifient les métadonnées associées à la requête
+(T=, H=, E=) n'ont aucun effet dans un contexte de répertoire ou de
+fichier htaccess, lorsqu'une substitution (autre que '-') est effectuée
+au cours de la même passe du processus de réécriture.
+</p>
+
 <p>Chaque drapeau disponible est présenté ici, avec un exemple
 d'utilisation.</p>
-
-<h3><a name="flag_b" id="flag_b">B</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_b" id="flag_b">B (échappement dans les références arrières)</a></h2>
 <p>Avec le drapeau [B], la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> échappe les caractères
 non-alphanumériques avant d'appliquer la transformation.</p>
 
+<p><code>mod_rewrite</code> doit supprimer les séquences d'échappement
+des URLs avant leur
+mise en correspondance avec le système de fichiers ; les séquences
+d'échappement sont donc supprimées des références arrières au moment où
+ces dernières sont appliquées. Avec le drapeau B, les caractères
+non-alphanumériques des références arrières seront échappés. Considérons
+par exemple cette règle :</p>
+
+<div class="example"><p><code>
+RewriteRule ^(/.*)$ /index.php?show=$1
+</code></p></div>
 
-<h3><a name="flag_c" id="flag_c">C|chain</a></h3>
+<p>Avec cet exemple, <code>/C++</code> sera réécrit en
+<code>/index.php?show=/C++</code>. Mais <code>/C%2b%2b</code> sera lui
+aussi réécrit en <code>/index.php?show=/C++</code>, car le caractère
+<code>%2b</code> aura été "déséchappé". Avec le drapeau B par contre,
+<code>/C%2b%2b</code> sera réécrit en
+<code>/index.php?show=/C%2b%2b</code>.</p>
+
+<p>Ce processus d'échappement est en particulier nécessaire dans le
+contexte d'un mandataire, où l'accès au serveur d'arrière-plan échouera
+si on présente à ce dernier une URL non échappée.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_c" id="flag_c">C|chain</a></h2>
 <p>Le drapeau [C] ou [chain] indique que la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est chaînée avec la
 suivante. Autrement dit, si la règle s'applique, elle est traitée
 normalement et passe le contrôle à la règle suivante. Par contre, si
 elle ne s'applique pas, la règle suivante, ainsi que toutes les règles
 chaînées qui suivent, seront sautées.</p>
 
-
-
-<h3><a name="flag_co" id="flag_co">CO|cookie</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_co" id="flag_co">CO|cookie</a></h2>
 <p>Le drapeau [CO], ou [cookie], vous permet de définir un cookie
 lorsqu'une règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
-s'applique. Il possède cinq arguments dont trois sont obligatoires et
-deux optionnels.</p>
-<p>Vous devez déclarer un nom et une valeur pour définir le cookie,
-ainsi que le domaine pour lequel vous souhaitez que le cookie soit
-valide. Vous pouvez aussi définir la durée de vie du cookie, ainsi que
-le chemin pour lequel il doit être renvoyé.</p>
-<p>Par défaut, la durée de vie du cookie correspond à la session du
-navigateur en cours.</p>
-<p>Par défaut, le chemin pour lequel le cookie sera valide est "/" -
-c'est à dire, pour tout le site web.</p>
+s'applique. Il possède trois arguments obligatoires et
+cinq arguments optionnels.</p>
+
+<p>La syntaxe complète de ce drapeau, avec tous ses attributs, est la
+suivante :</p>
+
+<div class="example"><p><code>
+[CO=NAME:VALUE:domain:lifetime:path:secure:httponly]
+</code></p></div>
+
+<p>Vous devez déclarer un nom et une valeur pour que le cookie puisse
+être défini.</p>
+
+<p>Vous pouvez aussi définir les valeurs suivantes :</p>
+
+<dl>
+<dt>Domain</dt>
+<dd>Le domaine pour lequel vous souhaitez que le cookie soit valide. Ce
+peut être un nom de serveur, comme <code>www.example.com</code>, ou un
+domaine, comme <code>.example.com</code>. Il doit comporter au moins
+deux parties séparées par un point. C'est à dire que vous ne pouvez pas
+utiliser les valeurs <code>.com</code> ou <code>.net</code>. En effet,
+ce style de cookie est interdit par le modèle de sécurité des cookies.</dd>
+<dd>La valeur par défaut est le domaine courant.</dd>
+
+<dt>Lifetime</dt>
+<dd>La durée de vie du cookie, en minutes.</dd>
+<dd>Une valeur de 0 indique une durée de vie correspondant à la session
+courante du navigateur. Il s'agit de la valeur par défaut.</dd>
+
+<dt>Path</dt>
+<dd>Le chemin, sur le site web concerné, pour lequel le cookie est
+valide, du style <code>/clients/</code> or
+<code>/fichiers/telechargement/</code>.</dd>
+<dd>La valeur par défaut est <code>/</code> - c'est à dire l'ensemble du
+site web.</dd>
+
+<dt>Secure</dt>
+<dd>Si cet argument a pour valeur <code>secure</code>,
+<code>true</code>, ou <code>1</code>, le cookie ne pourra être transmis
+que dans le cadre d'une connexion sécurisée (https).</dd>
+
+<dt>httponly</dt>
+<dd>Si cet argument a pour valeur <code>HttpOnly</code>,
+<code>true</code>, ou <code>1</code>, le cookie aura son drapeau
+<code>HttpOnly</code> activé, ce qui signifie qu'il sera inaccessible au
+code JavaScript pour les navigateurs qui supportent cette
+fonctionnalité.</dd>
+</dl>
+
 <p>Voici un exemple :</p>
 
 <div class="example"><p><code>
@@ -103,16 +186,40 @@ valide pour tout h
 durée de vie est limitée à 1440 minutes (24 heures), et il sera renvoyé
 pour tous les URIs.</p>
 
-
-
-<h3><a name="flag_dpi" id="flag_dpi">DPI|discardpathinfo</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_dpi" id="flag_dpi">DPI|discardpathinfo</a></h2>
 <p>Avec le drapeau DPI, la partie PATH_INFO de l'URI
 réécrit est supprimée.</p>
-
-
-
-
-<h3><a name="flag_e" id="flag_e">E|env</a></h3>
+<p>Ce drapeau est disponible dans les versions 2.2.12 et supérieures.</p>
+<p>Dans un contexte de répertoire, l'URI mis en comparaison par chaque
+règle <code class="directive">RewriteRule</code> est la concaténation des
+valeurs courantes de l'URI et de PATH_INFO.</p>
+
+<p>L'URI courant peut être l'URI initial tel qu'il a été fourni par le
+client, le résultat d'une passe précédente du processus de réécriture,
+ou le résultat de la règle précédente dans le processus courant de
+réécriture.</p>
+
+<p>Par contre, la partie PATH_INFO ajoutée à l'URI avant chaque règle ne
+reflète que la valeur de PATH_INFO avant la passe courante du processus
+de réécriture. En conséquence, si de larges portions de l'URI
+correspondent et sont traduites via plusieurs directives
+<code class="directive">RewriteRule</code>, sans prendre en compte
+quelles parties de l'URI provenaient du PATH_INFO courant, l'URI final
+pourra se voir ajouter plusieurs copies de PATH_INFO.</p>
+
+<p>Utilisez ce drapeau pour toute substitution où la présence du PATH_INFO qui
+résultait de la mise en correspondance précédente de cette requête avec
+le système de fichier n'est pas nécessaire. Avec ce drapeau, le
+PATH_INFO établi avant que cette passe du processus de réécriture ne
+débute est oublié. PATH_INFO ne sera pas recalculé tant que la passe
+courante du processus de réécriture ne sera pas achevée. Les règles
+suivantes de cette passe ne verront que le résultat direct des
+substitutions, sans aucun PATH_INFO ajouté.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_e" id="flag_e">E|env</a></h2>
 <p>Avec le drapeau [E], ou [env], vous pouvez définir la valeur d'une
 variable d'environnement. Notez que certaines variables d'environnement
 peuvent être définies après le traitement de la règle, annulant par
@@ -120,6 +227,28 @@ la-m
 sur les variables d'environnement</a> pour plus de détails sur le
 fonctionnement des variables d'environnement.</p>
 
+<p>La syntaxe complète pour ce drapeau est :</p>
+
+<div class="example"><p><code>
+[E=VAR:VAL]
+</code></p></div>
+
+<p><code>VAL</code> peut comporter des références arrières
+(<code>$N</code> ou <code>%N</code>) qui seront développées.</p>
+
+<p>En utilisant la version courte</p>
+
+<div class="example"><p><code>
+[E=VAR]
+</code></p></div>
+
+<p>vous pouvez définir la variable d'environnement nommée
+<code>VAR</code> avec une valeur vide.</p>
+
+<p>Les variables d'environnement s'emploient dans différents contextes,
+comme les programmes CGI, d'autres directives RewriteRule, ou des
+directives CustomLog.</p>
+
 <p>L'exemple suivant définit une variable d'environnement nommée 'image'
 avec une valeur de '1' si l'URI de la requête correspond à un fichier
 image. Cette variable d'environnement est ensuite utilisée pour exclure
@@ -133,10 +262,10 @@ CustomLog logs/access_log combined env=!image
 <p>Notez que le même effet peut être obtenu à l'aide de la directive
 <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>. Cette technique
 est présentée à titre d'exemple et non de recommandation.</p>
-
-
-<h3><a name="flag_f" id="flag_f">F|forbidden</a></h3>
-<p>L'utilisation du drapeau [F] permet de faire envoyer par Apache au
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_f" id="flag_f">F|forbidden</a></h2>
+<p>L'utilisation du drapeau [F] permet de faire envoyer par le serveur au
 client un code de statut "403 Forbidden". Le même effet peut être obtenu à
 l'aide de la directive <code class="directive"><a href="../mod/mod_access.html#deny">Deny</a></code>,
 mais ce drapeau offre plus de souplesse dans l'attribution d'un statut
@@ -154,10 +283,13 @@ qui signifie que l'URI de la requ
 raison de réécrire un URI, si vous avez l'intention d'interdire la
 requête.</p>
 
+<p>Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la
+réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
 
-
-<h3><a name="flag_g" id="flag_g">G|gone</a></h3>
-<p>Le drapeau [G] permet de faire envoyer par Apache un code de statut
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_g" id="flag_g">G|gone</a></h2>
+<p>Le drapeau [G] permet de faire envoyer par le serveur un code de statut
 "410 Gone" avec la réponse. Ce code indique qu'une ressource qui était
 disponible auparavant ne l'est plus actuellement.</p>
 
@@ -168,8 +300,12 @@ disponible auparavant ne l'est plus actuellement.</p>
 RewriteRule ancienne-ressource - [G,NC]
 </code></p></div>
 
+<p>Lorsqu'on utilise [F], [L] est implicite - c'est à dire que la
+réponse est renvoyée immédiatement, et aucune autre règle n'est évaluée.</p>
 
-<h3><a name="flag_h" id="flag_h">H|handler</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_h" id="flag_h">H|handler</a></h2>
 <p>Force le traitement de la requête résultante par le gestionnaire
 spécifié. Par exemple, on peut utiliser ce drapeau pour forcer
 l'interprétation de tous les fichiers sans extension par le gestionnaire
@@ -188,13 +324,13 @@ certain gestionnaire en fonction de certaines conditions. Par exemple,
 l'extrait suivant utilisé dans un contexte de niveau serveur permet de
 faire en sorte que les fichiers <code>.php</code> soient
 <em>affichés</em> par <code>mod_php</code> dans le cas où ils font
-l'objet d'une requête avec l'extension <code>.phps</code> :
-</p>
+l'objet d'une requête avec l'extension <code>.phps</code> :</p>
 
 <div class="example"><p><code>
 RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
 </code></p></div>
 
+
 <p>L'expression rationnelle ci-dessus -
 <code>^(/source/.+\.php)s$</code> - va correspondre à toute requête qui
 débutera par <code>/source/</code>, continuera par 1 ou n caractères
@@ -203,13 +339,16 @@ correspondance captur
 rationnelle.</p>
 
 
-
-
-<h3><a name="flag_l" id="flag_l">L|last</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_l" id="flag_l">L|last</a></h2>
 <p>Lorsque le drapeau [L] est présent, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
 arrête le traitement du jeu de règles. Cela signifie dans la plupart des
 situations que si la règle s'applique, aucune autre règle ne sera
-traitée.</p>
+traitée. Ce drapeau correspond à la commande Perl <code>last</code>, ou
+à la commande <code>break</code> en C. Utilisez ce drapeau pour indiquer
+que la règle courante doit être appliquée immédiatement, sans tenir
+compte des règles ultérieures.</p>
 
 <p>Si vous utilisez des règles <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans des fichiers
 <code>.htaccess</code> ou des sections <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>, il est important d'avoir quelques
@@ -237,15 +376,17 @@ directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">
 la requête concerne déjà <code>index.php</code>, la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sera sautée.</p>
 
 <div class="example"><p><code>
-RewriteCond %{REQUEST_URI} !=index\.php<br />
-RewriteRule ^(.*) index.php?req=$1 [L]
+RewriteBase /<br />
+RewriteCond %{REQUEST_URI} !=/index.php<br />
+RewriteRule ^(.*) /index.php?req=$1 [L,PT]
 </code></p></div>
-
-
-<h3><a name="flag_n" id="flag_n">N|next</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_n" id="flag_n">N|next</a></h2>
 <p>Le drapeau [N] provoque un redémarrage du traitement des règles
-depuis le début ; à utiliser avec précautions car il peut provoquer un
-bouclage infini.
+depuis le début, en utilisant le résultat du jeu de règles, sous
+réserve qu'il existe un point de démarrage ; à utiliser avec précautions
+car il peut provoquer un bouclage infini.
 </p>
 <p>
 Le drapeau [Next] peut servir, par exemple,
@@ -265,9 +406,9 @@ dire, tant que l'URI contient un <code>A</code>),
 effectuer la substitution (c'est à dire, remplacer le <code>A</code> par
 un <code>B</code>).</p>
 
-
-
-<h3><a name="flag_nc" id="flag_nc">NC|nocase</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_nc" id="flag_nc">NC|nocase</a></h2>
 <p>Avec le drapeau [NC], le modèle de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est comparé à la requête de
 manière insensible à la casse. C'est à dire que cette comparaison
 s'effectue sans tenir compte des majuscules/minuscules dans l'URI
@@ -281,9 +422,9 @@ bien que <code>.JPG</code> seront accept
 <div class="example"><p><code>
 RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]
 </code></p></div>
-
-
-<h3><a name="flag_ne" id="flag_ne">NE|noescape</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ne" id="flag_ne">NE|noescape</a></h2>
 <p>Par défaut, les caractères spéciaux, comme <code>&amp;</code> et
 <code>?</code>, sont convertis en leur équivalent
 hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.
@@ -300,22 +441,36 @@ aurait 
 qui aurait provoqué un code d'erreur "404 Not Found".
 </p>
 
-
-
-<h3><a name="flag_ns" id="flag_ns">NS|nosubreq</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_ns" id="flag_ns">NS|nosubreq</a></h2>
 <p>Le drapeau [NS] empêche la règle de s'appliquer aux sous-requêtes.
 Par exemple, une page incluse au moyen d'une SSI (Server
-Side Include) est une sous-requête, et vous ne voudrez peut-être pas que
-la réécriture s'applique à ces sous-requêtes.</p>
+Side Include) est une sous-requête, et vous ne voudrez probablement pas que
+la réécriture s'applique à ces sous-requêtes. Ainsi, lorsque
+<code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> recherche des informations à propos des
+fichiers par défaut du répertoire (comme les fichiers
+<code>index.html</code>), il s'agit d'une sous-requête interne, et vous
+ne désirez en général pas que ces sous-requêtes soient réécrites. Cette
+réécriture
+n'est pas toujours utile pour les sous-requêtes, et peut même causer des
+erreurs si l'ensemble du jeu de règles est appliqué. L'utilisation de
+ce drapeau permet d'exclure les règles qui peuvent poser problème.</p>
+
+<p>Comment déterminer si vous devez utiliser cette règle ou non : si
+vous préfixez les URLs avec des scripts CGI, afin de forcer leur
+traitement par le script CGI, vous vous exposez à des problèmes (ou du
+moins à une surcharge significative) avec les sous-requêtes. Dans ces
+cas, vous devez utiliser ce drapeau.</p>
 
 <p>
 Les images, scripts java, ou fichiers css, chargés en tant que partie
 d'une page html, ne sont pas des sous-requêtes - le navigateur les
 appelle sous forme de requêtes HTTP à part entière.
 </p>
-
-
-<h3><a name="flag_p" id="flag_p">P|proxy</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_p" id="flag_p">P|proxy</a></h2>
 <p>L'utilisation du drapeau [P] entraîne le traitement de la requête par
 le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, et ceci via une requête de
 mandataire. Par exemple, si vous voulez que toutes les requêtes d'images
@@ -330,9 +485,22 @@ RewriteRule (.*)\.(jpg|gif|png) http://images.example.com$1.$2 [P]
 autrement dit, la requête est immédiatement envoyée au mandataire, et
 toute règle ultérieure sera ignorée.</p>
 
+<p>
+Vous devez vous assurer que la chaîne de substitution soit un URI valide
+(commençant typiquement par <code>http://</code><em>nom-serveur</em>)
+qui puisse être traitée par le module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Dans
+le cas contraire, le module mandataire vous renverra une erreur.
+L'utilisation de ce drapeau implémente de manière plus puissante la
+directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code>, pour
+faire correspondre le contenu distant à l'espace de nommage du serveur
+local.</p>
+
+<p>Note: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être activé pour pouvoir
+utiliser ce drapeau.</p>
 
-
-<h3><a name="flag_pt" id="flag_pt">PT|passthrough</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_pt" id="flag_pt">PT|passthrough</a></h2>
 
 <p>
 Par défaut, la cible (ou chaîne de substitution) d'une règle
@@ -341,7 +509,7 @@ par contre, elle est trait
 drapeau [PT], le résultat de la règle  <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est passé à nouveau au
 système de mise en correspondance des URLs avec le système de fichiers,
 de façon à ce que les systèmes de mise en correspondance basés sur les
-chemins de fichiers, comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, par exemple, puissent avoir une
+chemins de fichiers, comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, <code class="directive"><a href="../mod/core.html#redirect">Redirect</a></code>, ou <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, par exemple, puissent avoir une
 chance d'accomplir leur tâche.
 </p>
 
@@ -360,9 +528,18 @@ Dans l'exemple pr
 été ignoré, ce qui aurait provoqué une erreur 'File not found'.
 </p>
 
+<p>Avec le drapeau <code>PT</code>, le drapeau <code>L</code> est
+implicite : la réécriture s'arrêtera afin de transmettre la requête à la
+phase suivante du traitement.</p>
 
+<p>Notez que le drapeau <code>PT</code> est implicite dans des contextes
+de répertoire comme les sections <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> ou les fichiers
+<code>.htaccess</code>. Le seul moyen de contourner ceci consiste à
+réécrire vers <code>-</code>.</p>
 
-<h3><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsa" id="flag_qsa">QSA|qsappend</a></h2>
 <p>
 Quand l'URI de remplacement contient une chaîne de requête, le
 comportement par défaut de la règle <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> est de supprimer la <code>
@@ -384,23 +561,59 @@ RewriteRule /pages/(.+) /page.php?page=$1 [QSA]
 même requête sera réécrite en <code>/page.php?page=123</code> -
 autrement dit, la chaîne de requête (<code>query string</code>) existante sera supprimée.
 </p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_qsd" id="flag_qsd">QSD|qsdiscard</a></h2>
+<p>
+Lorsque l'URI de la requête contient une chaîne de paramètres, et si
+l'URI cible n'en contient pas, le comportement par défaut de la
+directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> consiste à copier cette
+chaîne de paramètres dans l'URI cible. Avec le drapeau [QSD], la chaîne
+de paramètres est supprimée.
+</p>
 
+<p>Ce drapeau est disponible dans les versions 2.4.0 et supérieures.</p>
 
-<h3><a name="flag_r" id="flag_r">R|redirect</a></h3>
+<p>
+Lorsque les drapeaux [QSD] et [QSA] sont utilisés ensemble, c'est le
+drapeau [QSD] qui l'emporte.
+</p>
+
+<p>
+Si l'URI cible possède une chaîne de paramètres, le comportement par
+défaut sera respecté - c'est à dire que la chaîne de paramètres
+originale sera supprimée et remplacée par la chaîne de paramètres de
+l'URI cible.
+</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_r" id="flag_r">R|redirect</a></h2>
 <p>
 L'utilisation du drapeau [R] provoque l'envoi d'une redirection au
 navigateur. Si une URL pleinement qualifiée (FQDN - fully qualified domain name)
  est spécifiée (c'est à dire incluant <code>http://nom-du-serveur/</code>),
  une redirection sera effectuée vers cette adresse. Dans le cas contraire,
- c'est le nom du serveur local qui sera utilisé pour générer l'URL envoyée avec la
-redirection.
+ le protocole courant, le nom du serveur et le numéro de port seront
+ utilisés pour générer l'URL envoyée avec la redirection.
 </p>
 
-<p>
-Un code de statut entre 300 et 399 peut être spécifié, le code 302 étant
-utilisé par défaut si aucun code n'est spécifié.
+<p><em>Tout</em> code de statut de réponse HTTP valide peut être
+spécifié, en utilisant la syntaxe [R=305], le code de statut 302 étant
+utilisé par défaut si aucun code n'est spécifié. Le code de statut
+spécifié n'est pas nécessairement un code de statut de redirection (3xx).
 </p>
 
+<p>Si le code de statut est en dehors de la plage des codes de
+redirection (300-399), la chaîne de substitution est entièrement
+supprimée, et la réécriture s'arrête comme si le drapeau <code>L</code>
+était utilisé.</p>
+
+<p>En plus des codes de statut de réponse, vous pouvez spécifier les
+codes de redirection en utilisant leurs noms symboliques :
+<code>temp</code> (défaut), <code>permanent</code>, ou
+<code>seeother</code>.</p>
+
 <p>
 Vous utiliserez presque toujours [R] en conjonction avec [L] (c'est à
 dire [R,L]), car employé seul, le drapeau [R] préfixe l'URI avec
@@ -409,9 +622,9 @@ dire [R,L]), car employ
 avertissements 'Invalid URI in request'.
 </p>
 
-
-
-<h3><a name="flag_s" id="flag_s">S|skip</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_s" id="flag_s">S|skip</a></h2>
 <p>Le drapeau [S] sert à sauter des règles que vous ne voulez pas voir
 exécuter. Ceci peut s'interpréter comme une instruction
 <code>goto</code>  dans votre jeu de règles de réécriture. Dans
@@ -433,11 +646,15 @@ RewriteRule (.*\.html) docs.php?$1
 <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne s'applique
 qu'à la règle qui la suit immédiatement. Ainsi, si vous voulez
 qu'une directive <code>RewriteCond</code> s'applique à plusieurs règles
-<code>RewriteRule</code>, vous pouvez utiliser le drapeau [Skip].</p>
-
-
+<code>RewriteRule</code>, une technique possible consiste à inverser ces
+conditions et à utiliser le drapeau [Skip]. Cette technique permet
+d'élaborer des pseudo-constructions if-then-else : la dernière règle du
+bloc then contiendra <code>skip=N</code>, où N est le nombre de règles
+contenues dans le bloc else.</p>
 
-<h3><a name="flag_t" id="flag_t">T|type</a></h3>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="flag_t" id="flag_t">T|type</a></h2>
 <p>Définit le type MIME de la réponse résultante renvoyée. L'effet est
 identique à celui de la directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
 
@@ -465,6 +682,14 @@ envisager la possibilit
 d'avoir recours à la réécriture, qui sera toujours moins efficace qu'une
 solution alternative.</p>
 
+<p>
+Dans un contexte de niveau répertoire, n'utilisez que <code>-</code>
+(tiret) comme substitution, <em>dans toute la séquence de réécriture de
+mod_rewrite</em>, sinon le type MIME défini avec ce drapeau
+sera perdu suite à un retraitement interne (y compris les séquences de
+réécriture suivantes de mod_rewrite). Dans ce contexte, vous pouvez
+utiliser le drapeau <code>L</code> pour terminer la séquence
+<em>courante</em> de réécriture de mod_rewrite.</p>
 
 </div></div>
 <div class="bottomlang">