You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@apache.org on 2011/04/08 16:26:32 UTC

svn commit: r1090263 - in /httpd/httpd/branches/2.2.x/docs/manual: mod/mod_rewrite.html.en mod/mod_rewrite.html.fr mod/mod_rewrite.xml rewrite/remapping.html.en rewrite/remapping.xml

Author: rbowen
Date: Fri Apr  8 14:26:32 2011
New Revision: 1090263

URL: http://svn.apache.org/viewvc?rev=1090263&view=rev
Log:
Remove more unnecessary regex anchors from rewrite examples.

Modified:
    httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.en
    httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.fr
    httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml
    httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.html.en
    httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.xml

Modified: httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.en
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.en?rev=1090263&r1=1090262&r2=1090263&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.en (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.en Fri Apr  8 14:26:32 2011
@@ -620,9 +620,9 @@ Result:
           instead of the implicit AND. Typical example: 
 
 <div class="example"><pre>
-RewriteCond %{REMOTE_HOST}  ^host1.*  [OR]
-RewriteCond %{REMOTE_HOST}  ^host2.*  [OR]
-RewriteCond %{REMOTE_HOST}  ^host3.*
+RewriteCond %{REMOTE_HOST}  =host1  [OR]
+RewriteCond %{REMOTE_HOST}  =host2  [OR]
+RewriteCond %{REMOTE_HOST}  =host3
 RewriteRule ...some special stuff for any of these hosts...
 </pre></div>
 
@@ -650,10 +650,10 @@ RewriteRule ...some special stuff for an
         use the following: </p>
 
 <div class="example"><pre>
-RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
+RewriteCond  %{HTTP_USER_AGENT}  Mozilla
 RewriteRule  ^/$                 /homepage.max.html  [L]
 
-RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
+RewriteCond  %{HTTP_USER_AGENT}  Lynx
 RewriteRule  ^/$                 /homepage.min.html  [L]
 
 RewriteRule  ^/$                 /homepage.std.html  [L]

Modified: httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.fr?rev=1090263&r1=1090262&r2=1090263&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.fr (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.html.fr Fri Apr  8 14:26:32 2011
@@ -140,10 +140,7 @@ SCRIPT_URI=http://en1.engelschall.com/u/
 <h2><a name="Solutions" id="Solutions">Solutions pratiques</a></h2>
 
     <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éécriture</a>,
-    et dans le
-    <a href="../rewrite/rewrite_guide_advanced.html">Guide de réécriture avancée</a>.</p>
+    moins courante) de mod_rewrite dans la <a href="../rewrite/">documentation spécifique à la réécriture.</a></p>    
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
@@ -1416,337 +1413,125 @@ substitution !
       drapeau <code>[QSA]</code>.</p>
      </div>
 
-
       <p>En outre, vous pouvez spécifier des <a name="rewriteflags" id="rewriteflags">actions</a> spéciales à effectuer en ajoutant
       des
       <strong><code>[</code><em>drapeaux</em><code>]</code></strong>
       comme troisième argument de la directive
-      <code>RewriteRule</code>. Séparés par des virgules au sein d'une
-      liste encadrée par des crochets, les <em>drapeaux</em> peuvent
-      être choisis parmi les suivants : </p>
-
-      <dl>
-        <dt>'<code>B</code>' (références arrière échappées)</dt>
-        <dd><p>Les URLs doivent être non échappées pour pouvoir être
-	comparées par Apache, si bien que les références arrières
-	renverront une valeur non échappée au moment où elles seront
-	appliquées. En utilisant le drapeau B, les caractères non
-	alphanumériques des références arrières seront echappés. Par
-	exemple, considérons la règle :</p>
-        <pre><code> RewriteRule ^(.*)$ index.php?show=$1 </code></pre>
-        <p>Elle va faire correspondre <code>/C++</code> à
-	<code>index.php?show=/C++</code>. Mais elle va aussi faire
-	correspondre <code>/C%2b%2b</code> à
-	<code>index.php?show=/C++</code>, car le caractère
-	<code>%2b</code> n'a pas été échappé. Par contre, avec le
-	drapeau B, la substitution s'effectuera vers
-	<code>index.php?show=/C%2b%2b</code>.</p>
-        <p>Ce processus d'échappement est particulièrement nécessaire
-	dans le contexte du mandataire, où l'adresse d'arrière-plan ne
-	fonctionnera pas si elle se présente sous une forme
-	non échappée.</p>
-        </dd>
-
-        <dt>'<code>chain|C</code>'
-        (chaînage avec la règle suivante)</dt><dd>
-         Ce drapeau effectue un chaînage entre la règle courante et la
-	 suivante (qui peut elle-même être chaînée avec la suivante, et
-	 ainsi de suite). Ceci provoque l'effet suivant : si une règle
-	 correspond, le processus continue normalement - le drapeau n'a
-	 aucun effet. Si la règle ne correspond <strong>pas</strong>,
-	 toutes les règles chaînées suivantes sont ignorées. Par
-	 exemple, ce drapeau peut être utilisé pour supprimer la
-	 partie ``<code>.www</code>'', dans un jeu de règles au niveau
-	 du répertoire, lorsque vous faites intervenir une redirection
-	 externe (où la partie ``<code>.www</code>'' ne doit pas
-	 figurer !).</dd>
-
-        <dt>'<code>cookie|CO=</code><em>NAME</em>:<em>VAL</em>:<em>domain</em>[:<em>lifetime</em>[:<em>path</em>[:<em>secure</em>[:<em>httponly</em>]]]]'
-        (définit un cookie)</dt><dd>
-        Ce drapeau définit un cookie au niveau du navigateur du client.
-	Le nom du cookie est spécifié 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ée de vie</em> est la durée de vie du cookie en minutes,
-	et le champ optionnel <em>path</em> le chemin du cookie. Si
-	<em>secure</em> est défini à 'secure', 'true' ou '1', le cookie
-	ne sera transmis que via une connexion sécurisée. Si
-	<em>httponly</em> est défini à 'HttpOnly', 'true' ou '1', le
-	drapeau <code>HttpOnly</code> sera utilisé, rendant le cookie
-	inaccessible au code javascript pour les navigateurs qui
-	supportent cette fonctionnalité.</dd>
-
-	<dt>'<code>discardpathinfo|DPI'
-        (ignore PATH_INFO)</code></dt><dd>
-        <p>Dans un contexte de répertoire, l'URI avec lequel chaque
-	règle <code class="directive">RewriteRule</code> effectue sa comparaison
-	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é envoyé
-	par le client, le résultat d'un traitement précédent de
-	l'ensemble de règles de mod_rewrite, ou le résultat de la règle
-	précédente du traitement courant de mod_rewrite.</p>
-
-        <p>Paradoxalement, les information PATH_INFO ajoutées à l'URI
-	avant chaque règle ne représentent que la valeur qu'avait
-	PATH_INFO avant ce cycle de traitement des règles de
-	mod_rewrite. En conséquence, si de grandes parties de l'URI ont
-	été concernées par les règles et ont été copiées vers des
-	chaînes de substitution au cours du traitement de plusieurs
-	règles <code class="directive">RewriteRule</code>, sans considérer
-	quelles parties de l'URI provenaient des informations de
-	PATH_INFO courantes, l'URI final pourra se voir ajouter
-	plusieurs copies de PATH_INFO.</p>
-
-        <p>Utilisez ce drapeau avec toute substitution où les
-	informations de PATH_INFO résultant de la mise en correspondance
-	précédente de cette requête avec le système de fichiers ne
-	présente pas d'intérêt. Ce drapeau permet d'ignorer les
-	informations de PATH_INFO élaborées avant le cycle de traitement
-	courant de mod_rewrite. PATH_INFO ne sera pas recalculé avant
-	que le cycle de traitement courant de mod_rewrite ne se termine.
-	Les règles suivantes de ce cycle de traitement ne verront que le
-	résultat direct des substitutions, sans aucune information
-	PATH_INFO ajoutée..</p></dd>
-
-        <dt>'<code>env|E=!</code><em>VAR</em>[:<em>VAL</em>]'
-        (définit une variable d'environnement)</dt><dd>
-        Ce drapeau force la définition d'une variable d'environnement nommée
-	<em>VAR</em>. La valeur, si elle est fournie,  sera <em>VAL</em>, où
-	<em>VAL</em> peut contenir des références arrières vers des
-	expressions rationnelles (<code>$N</code> et <code>%N</code>)
-	qui seront évaluées. La forme !<em>VAR</em> annule
-	la définition de la variable d'environnement <em>VAR</em> qui, de
-	ce fait, peut plus recevoir aucune valeur <em>VAL</em>.
-	Vous pouvez utiliser ce drapeau plusieurs
-	fois pour définir plusieurs variables. Les variables peuvent
-	ensuite être déréférencé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éréférencer la variable dans un modèle de
-	directive RewriteCond ulté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édiatement une réponse HTTP 403 (FORBIDDEN). Ce drapeau,
-	associé à des directives RewriteCond appropriées, permet de
-	bloquer de maniè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édiatement une ré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
-	 <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> du
-	 module <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code>, qui impose en interne le
-	 gestionnaire ``<code>cgi-script</code>'' à tous les fichiers
-	 du répertoire correspondant.</dd>
-
-        <dt>'<code>last|L</code>'
-        (dernière règle)</dt><dd>
-	Termine le processus de réécriture ici et n'applique plus
-	aucune règle de réécriture. Ce drapeau est équivalent à la
-	commande Perl <code>last</code> ou la commande C
-	<code>break</code>. Il permet d'éviter la réécriture par les
-	règles suivantes d'une URL déjà réécrite. Rappelez-vous
-	cependant que si une directive
-	<code class="directive">RewriteRule</code> génère une redirection
-	interne (ce qui arrive fréquemment lors d'une réécriture dans
-	un contexte de répertoire), la requête sera réinjectée et le
-	processus de réécriture sera réitéré à partir de la
-	première directive <code class="directive">RewriteRule</code>.</dd>
-
-        <dt>'<code>next|N</code>'
-        (prochain round)</dt><dd>
-        Relance le processus de réécriture (toujours à partir de la
-	première règle). Cette fois, l'URL à comparer n'est plus l'URL
-	originale, mais plutôt l'URL renvoyée par la dernière règle de
-	réécriture. Ce drapeau est équivalent à la commande Perl
-	<code>next</code> ou la commande C <code>continue</code>. Il
-	permet de redémarrer le processus de réécriture - en se
-	positionnant immédiatement au niveau de la première règle.
-	<strong>Prenez garde à ne pas créer de bouclage
-	infini !</strong></dd>
-
-        <dt>'<code>nocase|NC</code>'
-        (insensible à la casse)</dt><dd>
-        Ce drapeau rend le <em>Modèle</em> insensible à la casse,
-	c'est à dire ne tenant pas compte des majuscules/minuscules
-	lorsque le <em>Modèle</em> est comparé avec l'URL
-	courante.</dd>
-
-        <dt>
-          '<code>noescape|NE</code>'
-          (pas d'échappement de l'URI en sortie)</dt><dd>
-          Ce drapeau empêche mod_rewrite d'appliquer les règles
-	  d'échappement d'URI usuelles au résultat d'une réécriture.
-	  Normalement, les caractère spéciaux (comme '%', '$', ';',
-	  etc...) sont échappés en leurs équivalents hexadécimaux
-	  (respectivement '%25', '%24', et '%3B') ; ce drapeau empêche
-	  cela de se produire. Il permet au symbole '%' d'apparaître
-	  en sortie, comme dans
-<div class="example"><p><code>
-    RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
-</code></p></div>
-          qui remplacerait '<code>/foo/zed</code>' par la requête plus
-	  sure '<code>/bar?arg=P1=zed</code>'.
-        </dd>
-
-        <dt>
-          '<code>nosubreq|NS</code>'
-          (sous-requêtes non concernées)</dt><dd>
-          <p>Si ce drapeau est présent, le moteur de réécriture
-	  n'applique pas la règle si la requête courante est une
-	  sous-requête interne. Par exemples, des sous-requêtes sont
-	  générées en interne par Apache lorsque
-	  <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> essaie de trouver des
-	  informations à propos d'éventuels fichiers de répertoire par
-	  défaut (fichiers <code>index.xxx</code>). Dans le cas d'une
-	  sous-requête, ce n'est pas toujours utile, et peut même
-	  provoquer des erreurs si l'ensemble du jeu de règles est
-	  appliqué. Ce drapeau permet d'exclure certaines règles.</p>
-          <p>Pour déterminer si l'on doit appliquer une règle ou pas,
-	  si une URL est préfixée par un script CGI, pour forcer son
-	  traitement par le script CGI, vous allez probablement
-	  rencontrer des problèmes (ou tout du moins une surcharge
-	  significative) avec les sous-requê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ête mandataire, et (le processus de
-	  réécriture s'arrête ici) son envoi immédiat vers le <a href="mod_proxy.html">module proxy</a>. Vous devez vous
-	  assurer que la chaîne de substitution est un URI valide
-	  (débutant typiquement par
-	  <code>http://</code><em>nom d'hôte</em>) pouvant être traité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émenter de maniè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: <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> doit être activé 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éécriture à 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é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éécrire <code>/abc</code> vers <code>/def</code> avec
-	   <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, puis <code>/def</code> vers
-	   <code>/ghi</code> avec <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> :
-<div class="example"><p><code>
-    RewriteRule ^/abc(.*)  /def$1 [PT]<br />
-    Alias       /def       /ghi
-</code></p></div>
-          Si le drapeau <code>PT</code> est omis,
-	  <code>mod_rewrite</code> va réé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 échouer.
-
-          <p>Note: <strong>Vous devez utiliser ce drapeau si vous
-	  voulez mélanger des directives en provenance de différents
-	  modules qui effectuent une traduction
-	  URL/nom de fichier</strong>. Un exemple typique est
-	  l'utilisation conjointe de <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> et de
-	  <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
-
-          <p>Le drapeau <code>PT</code> rend implicite la présence du
-	  drapeau <code>L</code> flag : la réécriture sera stoppée afin
-	  de transmettre la requête à la phase suivante du
-	  traitement.</p>
-        </dd>
-
-        <dt>'<code>qsappend|QSA</code>'
-        (ajout d'une chaîne de requête)</dt><dd>
-        Ce drapeau force le moteur de réécriture à ajouter la chaîne
-	de substitution à la chaîne de requête au lieu de remplacer
-	cette dernière par la chaîne de substitution.
-	Vous pouvez ainsi ajouter des données à la chaîne de requête
-	via une règle de réécriture.</dd>
-
-        <dt>'<code>redirect|R</code>
-          [=<em>code</em>]' (force une <a id="redirect" name="redirect">redirection</a>)</dt><dd>
-        <p>Préfixe la <em>chaîne de substitution</em> par
-	<code>http://hô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éfini, une réponse HTTP 302 (MOVED
-          TEMPORARILY) sera renvoyée. Si vous voulez renvoyer un autre
-	  code de réponse, spécifiez simplement le nombre approprié ou
-	  utilisez un des noms symboliques suivants : <code>temp</code>
-	  (défaut), <code>permanent</code> ou <code>seeother</code>.
-	  Vous pouvez utiliser ce drapeau pour que les règles mettent
-	  l'URL sous forme canonique et la renvoient au client, pour
-	  traduire ``<code>/~</code>'' en ``<code>/u/</code>'', ou pour
-	  ajouter systématiquement un slash à
-	  <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é vers
-	  une URL invalide. Souvenez-vous que, s'il est seul, ce
-	  drapeau va seulement préfixer l'URL par
-	  <code>http://hôte[:port]/</code>, et que le processus de
-	  réécriture va se poursuivre. En général, vous voudrez plutôt
-	  stopper la réécriture à ce point, et rediriger immédiatement.
-	  Pour stopper la réécriture, vous pouvez ajouter le drapeau
-	  'L'.</p>
-          <p>Bien qu'on utilise en général ce drapeau pour les
-	  redirections, on peut spé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îne de <em>Substitution</em> est
-	  supprimée et le processus de réécriture stoppé comme si le
-	  drapeau <code>L</code> était présent.</p>
-        </dd>
-
-        <dt>'<code>skip|S</code>=<em>num</em>'
-        (saute la/les règle(s) suivantes)</dt><dd>
-        Ce drapeau force le moteur de réécriture à sauter les
-	<em>num</em> règles consécutives suivantes, si la règle courante
-	s'applique. Il permet de simuler une structure if-then-else : la
-	dernière règle du bloc "then" devient <code>skip=N</code>, où N
-	est le nombre de règles contenues dans le bloc "else" (ce qui est
-	un comportement diffé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 <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> du fichier cible à
-	 <em>type MIME</em>. Ceci permet de définir le type de contenu
-	 en fonction de certaines conditions. Par exemple, l'extrait
-	 suivant permet aux fichiers <code>.php</code> d'être
-	 <em>affichés</em> par <code>mod_php</code> s'ils sont appelés
-	 avec l'extension <code>.phps</code> :
-        <div class="example"><p><code>
-            RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
-        </code></p></div>
-        </dd>
-      </dl>
-
+      <code>RewriteRule</code>. <em>Flags</em> est une liste de valeurs
+      déparées par des virgules, délimitée par des crochets, choisies
+      parmi les drapeaux de la table suivante. Vous trouverez plus de
+      détails et d'exemples, pour chaque drapeau, dans la <a href="../rewrite/flags.html">documentation sur les drapeaux de
+      réécriture</a>.</p>
+
+<table class="bordered">
+    <tr><th>Flag and syntax</th>
+        <th>Function</th>
+    </tr>
+    <tr>
+        <td>B</td>
+        <td>Escape non-alphanumeric characters <em>before</em> applying
+        the transformation. <em><a href="../rewrite/flags.html#flag_b">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>chain|C</td>
+        <td>Rule is chained to the following rule. If the rule fails,
+        the rule(s) chained to it will be skipped. <em><a href="../rewrite/flags.html#flag_c">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>cookie|CO=<em>NAME</em>:<em>VAL</em></td>
+        <td>Sets a cookie in the client browser. Full syntax is: 
+        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>
+        </td>
+    </tr>
+    <tr>
+        <td>discardpath|DPI</td>
+        <td>Causes the PATH_INFO portion of the rewritten URI to be
+        discarded. <em><a href="../rewrite/flags.html#flag_dpi">details 
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
+        <td>Causes an environment variable <em>VAR</em> to be set (to the
+        value <em>VAL</em> if provided). The form !<em>VAR</em> causes
+        the environment variable <em>VAR</em> to be unset.<em><a href="../rewrite/flags.html#flag_e">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>forbidden|F</td>
+        <td>Returns a 403 FORBIDDEN response to the client browser.
+        <em><a href="../rewrite/flags.html#flag_f">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>gone|G</td>
+        <td>Returns a 410 GONE response to the client browser. <em><a href="../rewrite/flags.html#flag_g">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>Handler|H=<em>Content-handler</em></td>
+        <td>Causes the resulting URI to be sent to the specified
+        <em>Content-handler</em> for processing. <em><a href="../rewrite/flags.html#flag_h">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>last|L</td>
+        <td>Stop the rewriting process immediately and don't apply any
+        more rules. Especially note caveats for per-directory and
+        .htaccess context (see also the END flag). <em><a href="../rewrite/flags.html#flag_l">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>next|N</td>
+        <td>Re-run the rewriting process, starting again with the first
+        rule, using the result of the ruleset so far as a starting
+        point. <em><a href="../rewrite/flags.html#flag_n">details
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>nocase|NC</td>
+        <td>Makes the pattern pattern comparison case-insensitive.
+        <em><a href="../rewrite/flags.html#flag_nc">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>noescape|NE</td>
+        <td>Prevent mod_rewrite from applying hexcode escaping of
+        special characters in the result of the rewrite. <em><a href="../rewrite/flags.html#flag_ne">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>nosubreq|NS</td>
+        <td>Causes a rule to be skipped if the current request is an
+        internal sub-request. <em><a href="../rewrite/flags.html#flag_ns">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>proxy|P</td>
+        <td>Force the substitution URL to be internally sent as a proxy
+        request. <em><a href="../rewrite/flags.html#flag_p">details
+        ...</a></em></td>
+    </tr>
+    <tr>
+        <td>passthrough|PT</td>
+        <td>Forces the resulting URI to be passed back to the URL
+        mapping engine for processing of other URI-to-filename
+        translators, such as <code>Alias</code> or
+        <code>Redirect</code>. <em><a href="../rewrite/flags.html#flag_pt">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>qsappend|QSA</td>
+        <td>Appends any query string created in the rewrite target to
+        any query string that was in the original request URL. <em><a href="../rewrite/flags.html#flag_qsa">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>redirect|R[=<em>code</em>]</td>
+        <td>Forces an external redirect, optionally with the specified
+        HTTP status code. <em><a href="../rewrite/flags.html#flag_r">details ...</a></em>
+        </td>
+    </tr>
+    <tr>
+        <td>skip|S=<em>num</em></td>
+        <td>Tells the rewriting engine to skip the next <em>num</em>
+        rules if the current rule matches. <em><a href="../rewrite/flags.html#flag_s">details ...</a></em></td>
+    </tr>
+    <tr>
+        <td>type|T=<em>MIME-type</em></td>
+        <td>Force the <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">MIME-type</a> of the target file
+        to be the specified type. <em><a href="../rewrite/flags.html#flag_t">details ...</a></em></td>
+    </tr>
+    </table>
 
 <div class="note"><h3>Développement du répertoire home</h3>
 <p> Quand la chaîne de substitution commence par quelque chose comme

Modified: httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml?rev=1090263&r1=1090262&r2=1090263&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml Fri Apr  8 14:26:32 2011
@@ -1050,9 +1050,9 @@ Result:
 
 <example>
 <pre>
-RewriteCond %{REMOTE_HOST}  ^host1.*  [OR]
-RewriteCond %{REMOTE_HOST}  ^host2.*  [OR]
-RewriteCond %{REMOTE_HOST}  ^host3.*
+RewriteCond %{REMOTE_HOST}  =host1  [OR]
+RewriteCond %{REMOTE_HOST}  =host2  [OR]
+RewriteCond %{REMOTE_HOST}  =host3
 RewriteRule ...some special stuff for any of these hosts...
 </pre>
 </example>
@@ -1082,10 +1082,10 @@ RewriteRule ...some special stuff for an
 
 <example>
 <pre>
-RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
+RewriteCond  %{HTTP_USER_AGENT}  Mozilla
 RewriteRule  ^/$                 /homepage.max.html  [L]
 
-RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
+RewriteCond  %{HTTP_USER_AGENT}  Lynx
 RewriteRule  ^/$                 /homepage.min.html  [L]
 
 RewriteRule  ^/$                 /homepage.std.html  [L]

Modified: httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.html.en
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.html.en?rev=1090263&r1=1090262&r2=1090263&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.html.en (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.html.en Fri Apr  8 14:26:32 2011
@@ -445,6 +445,8 @@ com       http://www.example.com/<br />
       user-agent, which is requesting the content.</p>
     </dd>
 
+    
+
     <dt>Solution:</dt>
 
     <dd>
@@ -459,11 +461,11 @@ com       http://www.example.com/<br />
       This is done with the following ruleset:</p>
 
 <div class="example"><p><code>
-RewriteCond %{HTTP_USER_AGENT}  ^<strong>Mozilla/3</strong>.*<br />
+RewriteCond %{HTTP_USER_AGENT}  <strong>Mozilla/3</strong>.*<br />
 RewriteRule ^foo\.html$         foo.<strong>NS</strong>.html          [<strong>L</strong>]<br />
 <br />
-RewriteCond %{HTTP_USER_AGENT}  ^<strong>Lynx/</strong>         [OR]<br />
-RewriteCond %{HTTP_USER_AGENT}  ^<strong>Mozilla/[12]</strong><br />
+RewriteCond %{HTTP_USER_AGENT}  <strong>Lynx/</strong>         [OR]<br />
+RewriteCond %{HTTP_USER_AGENT}  <strong>Mozilla/[12]</strong><br />
 RewriteRule ^foo\.html$         foo.<strong>20</strong>.html          [<strong>L</strong>]<br />
 <br />
 RewriteRule ^foo\.html$         foo.<strong>32</strong>.html          [<strong>L</strong>]

Modified: httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.xml?rev=1090263&r1=1090262&r2=1090263&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.xml (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/rewrite/remapping.xml Fri Apr  8 14:26:32 2011
@@ -448,6 +448,8 @@ com       http://www.example.com/<br />
       user-agent, which is requesting the content.</p>
     </dd>
 
+    <!-- It would be nice to bring this example into the 21st century.  -->
+
     <dt>Solution:</dt>
 
     <dd>
@@ -462,11 +464,11 @@ com       http://www.example.com/<br />
       This is done with the following ruleset:</p>
 
 <example>
-RewriteCond %{HTTP_USER_AGENT}  ^<strong>Mozilla/3</strong>.*<br />
+RewriteCond %{HTTP_USER_AGENT}  <strong>Mozilla/3</strong>.*<br />
 RewriteRule ^foo\.html$         foo.<strong>NS</strong>.html          [<strong>L</strong>]<br />
 <br />
-RewriteCond %{HTTP_USER_AGENT}  ^<strong>Lynx/</strong>         [OR]<br />
-RewriteCond %{HTTP_USER_AGENT}  ^<strong>Mozilla/[12]</strong><br />
+RewriteCond %{HTTP_USER_AGENT}  <strong>Lynx/</strong>         [OR]<br />
+RewriteCond %{HTTP_USER_AGENT}  <strong>Mozilla/[12]</strong><br />
 RewriteRule ^foo\.html$         foo.<strong>20</strong>.html          [<strong>L</strong>]<br />
 <br />
 RewriteRule ^foo\.html$         foo.<strong>32</strong>.html          [<strong>L</strong>]