diff options
Diffstat (limited to 'docs/manual/rewrite/intro.html.fr.utf8')
-rw-r--r-- | docs/manual/rewrite/intro.html.fr.utf8 | 142 |
1 files changed, 89 insertions, 53 deletions
diff --git a/docs/manual/rewrite/intro.html.fr.utf8 b/docs/manual/rewrite/intro.html.fr.utf8 index fae729a..ef66fa5 100644 --- a/docs/manual/rewrite/intro.html.fr.utf8 +++ b/docs/manual/rewrite/intro.html.fr.utf8 @@ -78,7 +78,7 @@ exactement comment chaque règle est traitée.</p> <div class="section"> <h2><a name="regex" id="regex">Expressions rationnelles</a></h2> -<p>mod_rewrite utilise le vocabulaire des <a href="http://pcre.org/">Expressions rationnelles compatibles Perl</a>. +<p><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> utilise le vocabulaire des <a href="http://pcre.org/">Expressions rationnelles compatibles Perl</a>. Ce document n'a pas pour prétention d'être une référence détaillée des expressions rationnelles. A cet effet, nous recommandons les <a href="http://pcre.org/pcre.txt">pages de manuel de PCRE</a>, la <a href="http://perldoc.perl.org/perlre.html">page de manuel des expressions rationnelles Perl</a>, et l'ouvrage <a href="http://shop.oreilly.com/product/9780596528126.do">Mastering @@ -105,43 +105,73 @@ expressions.</p> <th>Exemple</th> </tr> -<tr><td><code>.</code></td><td>Correspond à tout caractère unique -</td><td><code>c.t</code> correspondra à <code>cat</code>, -<code>cot</code>, <code>cut</code>, etc.</td></tr> -<tr><td><code>+</code></td><td>Répète le caractère de correspondance -précédent une ou plusieurs fois</td> -<td><code>a+</code> correspond à <code>a</code>, <code>aa</code>, -<code>aaa</code>, etc.</td></tr> -<tr><td><code>*</code></td><td>Répète le caractère de correspondance -précédent zéro ou plusieurs fois</td> -<td><code>a*</code> correspond à tout ce à quoi correspond -<code>a+</code>, mais correspond aussi à la chaîne vide.</td></tr> -<tr><td><code>?</code></td><td>Rend la correspondance optionnelle.</td><td> -<code>colou?r</code> correspondra à <code>color</code> et <code>colour</code>.</td> +<tr> + <td><code>.</code></td> + <td>Correspond à tout caractère unique</td> + <td><code>c.t</code> correspondra à <code>cat</code>, + <code>cot</code>, <code>cut</code>, etc.</td> +</tr> +<tr> + <td><code>+</code></td> + <td>Répète le caractère de correspondance précédent une ou plusieurs fois</td> + <td><code>a+</code> correspond à <code>a</code>, <code>aa</code>, + <code>aaa</code>, etc.</td> +</tr> + <tr><td><code>*</code></td> + <td>Répète le caractère de correspondance + précédent zéro ou plusieurs fois</td> + <td><code>a*</code> correspond à tout ce à quoi correspond + <code>a+</code>, mais correspond aussi à la chaîne vide.</td> +</tr> +<tr> + <td><code>?</code></td> + <td>Rend la correspondance optionnelle.</td> + <td><code>colou?r</code> correspondra à <code>color</code> et <code>colour</code>.</td> +</tr> +<tr> + <td><code>\</code></td> + <td>Echappe le caractère suivant</td> + <td><code>\.</code> correspondra à <code>.</code> (le point) et non <em>à + tout caractère unique</em> comme expliqué plus haut</td> +</tr> +<tr> + <td><code>^</code></td> + <td>Appelé ancrage, correspond au début de la + chaîne</td> + <td><code>^a</code> correspond à une chaîne qui commence par + <code>a</code></td> +</tr> +<tr> + <td><code>$</code></td> + <td>L'autre ancrage, correspond à la fin de + la chaîne.</td> + <td><code>a$</code> correspond à une chaîne qui se termine par + <code>a</code>.</td> +</tr> +<tr> + <td><code>( )</code></td> + <td>Regroupe plusieurs caractères en une + seule entité, et conserve une correspondance à des fins d'utilisation + dans une référence arrière.</td> + <td><code>(ab)+</code> + correspond à <code>ababab</code> - à savoir, le <code>+</code> + s'applique au groupe. + Pour plus de détails sur les références arrières, voir <a href="#InternalBackRefs">ci-dessous</a>.</td> +</tr> +<tr> + <td><code>[ ]</code></td> + <td>Une classe de caractères - correspond à + un des caractères de la classe</td> + <td><code>c[uoa]t</code> correspond à <code>cut</code>, + <code>cot</code> ou <code>cat</code>.</td> +</tr> +<tr> + <td><code>[^ ]</code></td> + <td>Négation de la classe de caractères - + correspond à tout caractère ne faisant pas partie de la classe</td> + <td><code>c[^/]t</code> correspond à <code>cat</code> ou + <code>c=t</code> mais pas à <code>c/t</code></td> </tr> -<tr><td><code>^</code></td><td>Appelé ancrage, correspond au début de la -chaîne</td> -<td><code>^a</code> correspond à une chaîne qui commence par -<code>a</code></td></tr> -<tr><td><code>$</code></td><td>L'autre ancrage, correspond à la fin de -la chaîne.</td> -<td><code>a$</code> correspond à une chaîne qui se termine par -<code>a</code>.</td></tr> -<tr><td><code>( )</code></td><td>Regroupe plusieurs caractères en une -seule entité, et conserve une correspondance à des fins d'utilisation -dans une référence arrière.</td> -<td><code>(ab)+</code> -correspond à <code>ababab</code> - à savoir, le <code>+</code> -s'applique au groupe. -Pour plus de détails sur les références arrières, voir <a href="#InternalBackRefs">ci-dessous</a>.</td></tr> -<tr><td><code>[ ]</code></td><td>Une classe de caractères - correspond à -un des caractères de la classe</td> -<td><code>c[uoa]t</code> correspond à <code>cut</code>, -<code>cot</code> ou <code>cat</code>.</td></tr> -<tr><td><code>[^ ]</code></td><td>Négation de la classe de caractères - -correspond à tout caractère ne faisant pas partie de la classe</td> -<td><code>c[^/]t</code> correspond à <code>cat</code> ou -<code>c=t</code> mais pas à <code>c/t</code></td></tr> </table> <p>Avec <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, le caractère <code>!</code> peut @@ -159,15 +189,14 @@ arrières dans les expressions rationnelles</a></h3> un des <em>modèles de conditions</em>, des références arrières sont créées en interne et peuvent être rappelées via les chaînes <code>$N</code> et <code>%N</code> (voir ci-dessous). Ces - références sont disponibles lors de la création - de la chaîne de substitution d'une directive + références sont disponibles lors de la + création de la chaîne de substitution d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ou de la chaîne de test d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</p> <p>Les captures dans les modèles de directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sont paradoxalement disponibles dans toutes les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> qui précèdent, car les expressions des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> sont évaluées avant les conditions individuelles.</p> - <p>La figure 1 montre à quels endroits les références arrières sont suceptibles @@ -221,25 +250,25 @@ substituée.</p> trois types :</p> <dl> -<dt>Un chemin complet du système de fichiers vers une ressource</dt> +<dt>1. Un chemin complet du système de fichiers vers une ressource</dt> <dd> -<pre class="prettyprint lang-config">RewriteRule "^/jeux" "/usr/local/jeux/web"</pre> +<pre class="prettyprint lang-config">RewriteRule "^/games" "/usr/local/games/web/puzzles.html"</pre> <p>Ceci peut faire correspondre une requête à toute localisation voulue de votre système de fichiers, un peu comme la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>.</p> </dd> -<dt>Un chemin web vers une ressource</dt> +<dt>2. Un chemin web vers une ressource</dt> <dd> -<pre class="prettyprint lang-config">RewriteRule "^/foo$" "/bar"</pre> +<pre class="prettyprint lang-config">RewriteRule "^/games$" "/puzzles.html"</pre> <p>Si la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> a pour valeur <code>/usr/local/apache2/htdocs</code>, cette règle va faire -correspondre les requêtes pour <code>http://example.com/foo</code> au -chemin <code>/usr/local/apache2/htdocs/bar</code>.</p> +correspondre les requêtes pour <code>http://example.com/games</code> au +chemin <code>/usr/local/apache2/htdocs/puzzles.html</code>.</p> </dd> -<dt>Une URL absolue</dt> +<dt>3. Une URL absolue</dt> <dd> <pre class="prettyprint lang-config">RewriteRule "^/produits/vues$" "http://site2.example.com/voirproduits.html" [R]</pre> @@ -248,6 +277,13 @@ l'URL spécifiée.</p> </dd> </dl> +<div class="warning">Notez que <strong>1</strong> et <strong>2</strong> +possèdent exactement la même syntaxe. Par contre, dans le cas de +<strong>1</strong>, le niveau racine du chemin cible (par exemple +<code>/usr/</code>) existe dans le système de fichiers, alors que ce n'est pas +le cas avec <strong>2</strong> (par exemple, il n'y a pas de répertoire +<code>/bar/</code> au niveau de la racine du système de fichiers).</div> + <p>La chaîne de <var>Substitution</var> peut aussi contenir des <em>références arrières</em> vers des parties du chemin d'URL entrant correspondant au <var>Modèle</var>. Considérons ce qui suit :</p> @@ -300,7 +336,7 @@ correspondance est évaluée.</p> certaine tranche d'adresses IP vers un autre serveur, vous pouvez utiliser :</p> <pre class="prettyprint lang-config">RewriteCond "%{REMOTE_ADDR}" "^10\.2\." -RewriteRule "(.*)" "http://intranet.example.com$1"</pre> +RewriteRule "(.*)" "http://intranet.example.com$1"</pre> <p>Si vous spécifiez plus d'une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, ces directives @@ -309,8 +345,8 @@ pour interdire les requêtes qui contiennent le mot "hack" dans la chaîne de requête, sauf si elles contiennent aussi un cookie contenant le mot "go", vous pouvez utiliser :</p> <pre class="prettyprint lang-config">RewriteCond "%{QUERY_STRING}" "hack" -RewriteCond "%{HTTP_COOKIE}" "!go" -RewriteRule "." "-" [F]</pre> +RewriteCond "%{HTTP_COOKIE}" !go +RewriteRule "." "-" [F]</pre> <p>Notez que le point d'exclamation indique une correspondance négative ; ainsi, la règle n'est appliquée que si le cookie ne contient pas "go"</p> @@ -323,7 +359,7 @@ les variables <code>%1</code>, <code>%2</code>, etc... Par exemple, ce qui suit va diriger la requête vers un répertoire différent en fonction du nom d'hôte utilisé pour accéder au site :</p> <pre class="prettyprint lang-config">RewriteCond "%{HTTP_HOST}" "(.*)" -RewriteRule "^/(.*)" "/sites/%1/$1"</pre> +RewriteRule "^/(.*)" "/sites/%1/$1"</pre> <p>Si la requête concernait <code>http://example.com/foo/bar</code>, alors <code>%1</code> contiendrait <code>example.com</code> et @@ -363,7 +399,7 @@ requête est correctement mise en correspondance.</p> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/rewrite/intro.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../fr/rewrite/intro.html" title="Français"> fr </a></p> -</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> <script type="text/javascript"><!--//--><![CDATA[//><!-- var comments_shortname = 'httpd'; var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/intro.html'; @@ -381,7 +417,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/intro.html'; } })(window, document); //--><!]]></script></div><div id="footer"> -<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="apache">Copyright 2024 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); |