You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by lg...@apache.org on 2011/01/16 17:39:09 UTC
svn commit: r1059610 -
/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr
Author: lgentis
Date: Sun Jan 16 16:39:09 2011
New Revision: 1059610
URL: http://svn.apache.org/viewvc?rev=1059610&view=rev
Log:
Update.
Modified:
httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr
Modified: httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr?rev=1059610&r1=1059609&r2=1059610&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr Sun Jan 16 16:39:09 2011
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1031389 -->
+<!-- English Revision : 1055700 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
@@ -1231,24 +1231,84 @@ RewriteRule ^/$ /homepa
compatible perl. Dans la première règle de réécriture,
l'expression est comparée au
<a href="./directive-dict.html#Syntax">chemin de l'URL</a> de la
- requête ; les expressions suivantes sont comparées à la sortie de
+ requête (url-encodé avec caractères %) ; les expressions suivantes sont comparées à la sortie de
la dernière règle de réécriture qui a été appliquée.</p>
<note><title>Qu'est-ce qui est comparé ?</title>
- <p>Le <em>Modèle</em> est d'abord comparé à la partie
- de l'URL après le nom d'hôte et le port, et avant la chaîne de
- requête. Si vous souhaitez faire une comparaison sur le nom
- d'hôte, le port, ou la chaîne de requête, utilisez une
+
+ <p>Dans un contexte de serveur virtuel <directive
+ module="core">VirtualHost</directive>, le <em>modèle</em> est tout
+ d'abord comparé à la portion de l'URL située entre le nom d'hôte
+ éventuellement accompagné du port, et la chaîne de paramètres (par
+ exemple "/app1/index.html").</p>
+
+ <p>Dans les contextes de répertoire <directive
+ module="core">Directory</directive> et htaccess, le
+ <em>modèle</em> est tout d'abord comparé au chemin du <em>système
+ de fichiers</em>, après suppression du préfixe ou chemin de base
+ ayant conduit à la règle <directive>RewriteRule</directive> (par
+ exemple "app1/index.html" ou
+ "index.html" selon l'endroit où les directives sont définies).</p>
+
+ <p>Si vous voulez effectuer une comparaison en tenant compte du
+ nom d'hôte, du port ou de la chaîne de paramètres, utilisez une
directive <directive module="mod_rewrite">RewriteCond</directive>
comportant les variables
<code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou
<code>%{QUERY_STRING}</code>.</p>
+
+</note>
+
+<note><title>Réécritures dans un contexte de répertoire</title>
+<ul>
+<li>L'utilisation du moteur de réécriture dans les
+fichiers <a href="../howto/htaccess.html">.htaccess</a> et les sections
+<directive
+type="section" module="core">Directory</directive> est un peu plus
+complexe.</li>
+
+<li>Pour activer le moteur de réécriture dans ces contextes, vous devez
+définir "<code>RewriteEngine On</code>" <strong>et</strong>
+"<code>Options FollowSymLinks</code>". Si l'administrateur a désactivé
+la possibilité de modifier l'option <code>FollowSymLinks</code> au
+niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le
+moteur de réécriture. Cette restriction a été instaurée à des fins de
+sécurité.</li>
+
+<li>Lorsqu'on utilise le moteur de réécriture dans un fichier
+<code>.htaccess</code>, le chemin de base du répertoire courant (qui est
+toujours le même pour ce même répertoire) est automatiquement
+<em>supprimé</em> au cours de la comparaison avec le modèle de la règle
+de réécriture, et automatiquement <em>ajouté</em> lorsqu'une
+substitution relative (ne débutant pas par un slash ou un nom de
+protocole) arrive à la fin d'un jeu de règles. Voir la directive
+<directive module="mod_rewrite">RewriteBase</directive> pour plus de
+détails à propos de l'ajout du préfixe après les substitutions
+relatives.</li>
+
+<li>Si vous souhaitez effectuer une comparaison en prenant en compte
+l'intégralité du
+chemin de l'URL dans un contexte de répertoire (htaccess), vous devez
+utiliser la variable <code>%{REQUEST_URI}</code> dans la directive
+<directive>RewriteCond</directive>.</li>
+
+<li>Le prefixe supprimé se termine toujours par un slash, ce qui
+signifie que la comparaison s'effectue avec une chaîne qui ne comporte
+<em>jamais</em> de slash de début. Ainsi, un <em>modèle</em> contenant
+<code>^/</code> ne correspondra jamais dans un contexte de répertoire.</li>
+
+<li>Bien que les règles de réécriture soient permises du point de vue de
+la syntaxe dans les sections <directive type="section"
+module="core">Location</directive> et <directive type="section"
+module="core">Files</directive>, elles n'y sont pas prises en compte, et
+n'y sont à priori d'aucune utilité.</li>
+</ul>
</note>
<p>Pour quelques conseils à propos des <glossary
ref="regex">expressions rationnelles</glossary>, voir le
document <a
- href="../rewrite/rewrite_intro.html#regex">Introduction à
+ href="../rewrite/intro.html#regex">Introduction à
mod_rewrite</a>.</p>
<p>Dans mod_rewrite, on peut aussi utiliser le caractère NON
@@ -1717,48 +1777,6 @@ configuration du module <module>mod_user
utilisé dans la directive <directive module="mod_rewrite">RewriteRule</directive></p>
</note>
-<note><title>Réécritures dans le contexte de répertoire</title>
-
-<p>Le moteur de réécriture peut être utilisé dans les fichiers <a
-href="../howto/htaccess.html">.htaccess</a>. Pour activer le moteur de
-réécriture pour ces fichiers, vous devez préciser "<code>RewriteEngine
-On</code>" <strong>et</strong> "<code>Options FollowSymLinks</code>"
-doit être activé. Si votre administrateur a interdit la surcharge de
-<code>FollowSymLinks</code> pour un répertoire utilisateur, vous ne
-pouvez pas utiliser le moteur de réécriture. Cette restriction est
-nécessaire pour des raisons de sécurité.</p>
-
-<p>Lorsqu'on utilise le moteur de réécriture dans les fichiers
-<code>.htaccess</code>, le préfixe du répertoire (qui est
-toujours le même pour un répertoire donné) est automatiquement
-<em>supprimé</em> pour la comparaison du modèle et automatiquement
-<em>ajouté</em> une fois la substitution effectuée. Cette fonctionnalité
-est nécessaire pour de nombreux cas de réécriture ; sans elle, vous
-seriez obligé de tenir compte du répertoire parent pour la comparaison,
-ce qui n'est pas toujours
-possible. Il y a une exception : si une chaîne de substitution commence
-par <code>http://</code>, le préfixe du répertoire ne sera
-<strong>pas</strong> ajouté, et une redirection externe (ou le passage
-par un mandataire, si le drapeau <strong>P</strong> est utilisé) sera
-initiée. Voir la directive <directive
-module="mod_rewrite">RewriteBase</directive> pour plus de détails.</p>
-
-<p>Le moteur de réécriture peut aussi être utilisé dans les sections
-<directive type="section" module="core">Directory</directive> avec les
-mêmes règles de comparaison des préfixes que celles qui s'appliquent
-pour les fichiers <code>.htaccess</code>. Cependant, il est en général
-plus simple, pour éviter la complication des substitutions de préfixes,
-de définir les règles de réécriture dans le contexte du serveur
-principal ou des hôtes virtuels, plutôt que dans une section
-<directive type="section" module="core">Directory</directive>.</p>
-
-<p>Bien que du point de vue syntaxique, il soit permis de définir des
-règles de réécriture dans les sections <directive type="section"
-module="core">Location</directive>, ce n'est à priori d'aucune utilité
-et n'est pas supporté.</p>
-
-</note>
-
<p>Voici toutes les combinaisons de substitution et leurs
significations :</p>