<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1585159:1674195 (outdated) -->
+<!-- English Revision: 1674195 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
non-alphanumériques des références arrières seront échappés. Considérons
par exemple cette règle :</p>
-<highlight language="config">RewriteRule ^search/(.*)$ /search.php?term=$1</highlight>
+<highlight language="config">RewriteRule "^search/(.*)$" "/search.php?term=$1"</highlight>
<p>Soit le terme de recherche 'x & y/z' ; un navigateur va le coder
en 'x%20%26%20y%2Fz', transformant la requête en
<highlight language="config">
RewriteEngine On
-RewriteRule ^/index\.html - [CO=frontdoor:yes:.example.org:1440:/]
+RewriteRule "^/index\.html" "-" [CO=frontdoor:yes:.example.org:1440:/]
</highlight>
<p>Dans l'exemple ci-dessus, la règle ne réécrit
image. Cette variable d'environnement est ensuite utilisée pour exclure
une telle requête du journal des accès.</p>
-<example>
-RewriteRule \.(png|gif|jpg) - [E=image:1]<br />
-CustomLog logs/access_log combined env=!image
-</example>
+<highlight language="config">
+RewriteRule "\.(png|gif|jpg)" "-" [E=image:1]<br />
+CustomLog "logs/access_log" combined env=!image
+</highlight>
<p>Notez que le même effet peut être obtenu à l'aide de la directive
<directive module="mod_setenvif">SetEnvIf</directive>. Cette technique
<p>La règle suivante va interdire la téléchargement de fichiers
<code>.exe</code> depuis votre serveur.</p>
-<highlight language="config">RewriteRule \.exe - [F]</highlight>
+<highlight language="config">RewriteRule "\.exe" "-" [F]</highlight>
<p>Cet exemple utilise la syntaxe "-" pour la cible de réécriture, ce
qui signifie que l'URI de la requête n'est pas modifié. Il n'y a aucune
<p>Comme dans le cas du drapeau [F], on utilise en général la syntaxe
"-" pour la cible de réécriture lorsqu'on utilise le drapeau [G] :</p>
-<highlight language="config">RewriteRule oldproduct - [G,NC]</highlight>
+<highlight language="config">RewriteRule "oldproduct" "-" [G,NC]</highlight>
<p>Lorsqu'on utilise [G], [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>
l'interprétation de tous les fichiers sans extension par le gestionnaire
php :</p>
-<highlight language="config">RewriteRule !\. -
-[H=application/x-httpd-php]</highlight>
+<highlight language="config">RewriteRule "!\." "-" [H=application/x-httpd-php]</highlight>
<p>
L'expression rationnelle ci-dessus - <code>!\.</code> - correspond à
l'objet d'une requête avec l'extension <code>.phps</code> :</p>
<highlight language="config">
-RewriteRule ^(/source/.+\.php)s$ $1 [H=application/x-httpd-php-source]
+RewriteRule "^(/source/.+\.php)s$" "$1" [H=application/x-httpd-php-source]
</highlight>
module="mod_rewrite">RewriteRule</directive> sera sautée.</p>
<highlight language="config">
-RewriteBase /
-RewriteCond %{REQUEST_URI} !=/index.php
-RewriteRule ^(.*) /index.php?req=$1 [L,PT]
+RewriteBase "/"
+RewriteCond "%{REQUEST_URI}" !=/index.php
+RewriteRule "^(.*)" "/index.php?req=$1" [L,PT]
</highlight>
</section>
ceci jusqu'il n'y ait plus de A à remplacer.
</p>
-<highlight language="config">RewriteRule (.*)A(.*) $1B$2 [N]</highlight>
+<highlight language="config">RewriteRule "(.*)A(.*)" "$1B$2" [N]</highlight>
<p>Vous pouvez vous représenter ce traitement comme une boucle
<code>while</code> : tant que le modèle de la règle correspond (c'est à
d'itération peut être modifié via le drapeau N.</p>
<highlight language="config">
# On veut remplacer 1 caractère à chaque itération de la boucle
-RewriteRule (.+)[><;]$ $1 [N=32000]
+RewriteRule "(.+)[><;]$" "$1" [N=32000]
# ... ou s'arrêter après 10 itérations
-RewriteRule (.+)[><;]$ $1 [N=10]
+RewriteRule "(.+)[><;]$" "$1" [N=10]
</highlight>
</section>
insensible à la casse, si bien que par exemple, <code>.jpg</code> aussi
bien que <code>.JPG</code> seront acceptés.</p>
-<highlight language="config">RewriteRule (.*\.(jpg|gif|png))$ http://images.example.com$1 [P,NC]</highlight>
+<highlight language="config">RewriteRule "(.*\.(jpg|gif|png))$" "http://images.example.com$1" [P,NC]</highlight>
</section>
<section id="flag_ne"><title>NE|noescape</title>
hexadécimal. Le drapeau [NE] permet d'éviter cette conversion.
</p>
-<highlight language="config">RewriteRule ^/anchor/(.+) /bigpage.html#$1 [NE,R]</highlight>
+<highlight language="config">RewriteRule "^/anchor/(.+)" "/bigpage.html#$1" [NE,R]</highlight>
<p>
Dans l'exemple ci-dessus, <code>/anchor/xyz</code> est réécrit en
soient traitées par un serveur d'images annexe, vous pouvez utiliser
une règle de ce style :</p>
-<highlight language="config">RewriteRule /(.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]</highlight>
+<highlight language="config">RewriteRule "/(.*)\.(jpg|gif|png)$" "http://images.example.com/$1.$2" [P]</highlight>
<p>L'utilisation du drapeau [P] provoque aussi l'effet du drapeau [L] -
autrement dit, la requête est immédiatement envoyée au mandataire, et
</p>
<highlight language="config">
-Alias /icons /usr/local/apache/icons
-RewriteRule /pics/(.+)\.jpg$ /icons/$1.gif [PT]
+Alias "/icons" "/usr/local/apache/icons"
+RewriteRule "/pics/(.+)\.jpg$" "/icons/$1.gif" [PT]
</highlight>
<p>
<p>Considérons la règle suivante :</p>
-<highlight language="config">RewriteRule /pages/(.+) /page.php?page=$1
-[QSA]</highlight>
+<highlight language="config">RewriteRule "/pages/(.+)" "/page.php?page=$1" [QSA]</highlight>
<p>Avec le drapeau [QSA], une requête pour
<code>/pages/123?one=two</code> sera réécrite en
correspond pas à un fichier existant.</p>
<highlight language="config">
# La requête concerne-t-elle un fichier qui n'existe pas ?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
# Si c'est la cas, on saute les deux règles de réécriture suivantes
-RewriteRule .? - [S=2]
+RewriteRule ".?" "-" [S=2]
-RewriteRule (.*\.gif) images.php?$1
-RewriteRule (.*\.html) docs.php?$1
+RewriteRule "(.*\.gif)" "images.php?$1"
+RewriteRule "(.*\.html)" "docs.php?$1"
</highlight>
contenues dans le bloc else :</p>
<highlight language="config">
# Est-ce que le fichier existe ?
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond "%{REQUEST_FILENAME}" !-f
+RewriteCond "%{REQUEST_FILENAME}" !-d
# Create an if-then-else construct by skipping 3 lines if we meant to go to the "else" stanza.
-RewriteRule .? - [S=3]
+RewriteRule ".?" "-" [S=3]
# Si le fichier existe, alors :
-RewriteRule (.*\.gif) images.php?$1
- RewriteRule (.*\.html) docs.php?$1
+RewriteRule "(.*\.gif)" "images.php?$1"
+ RewriteRule "(.*\.html)" "docs.php?$1"
# Skip past the "else" stanza.
- RewriteRule .? - [S=1]
+ RewriteRule ".?" "-" [S=1]
# ELSE...
-RewriteRule (.*) 404.php?file=$1
+RewriteRule "(.*)" "404.php?file=$1"
# END
</highlight>
<highlight language="config">
# Sert les fichier .pl en tant que plein texte
-RewriteRule \.pl$ - [T=text/plain]
+RewriteRule "\.pl$" "-" [T=text/plain]
</highlight>
<p>Ou encore, si vous possédez une caméra qui produit des fichiers
<highlight language="config">
# Les fichiers dont le nom contient 'IMG' sont des images jpg.
-RewriteRule IMG - [T=image/jpg]
+RewriteRule "IMG" "-" [T=image/jpg]
</highlight>
<p>Notez cependant qu'il s'agit d'un exemple trivial, et que le problème