Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 43373 invoked from network); 16 Jan 2011 16:39:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jan 2011 16:39:42 -0000 Received: (qmail 89639 invoked by uid 500); 16 Jan 2011 16:39:42 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 89421 invoked by uid 500); 16 Jan 2011 16:39:40 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 89414 invoked by uid 99); 16 Jan 2011 16:39:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 16 Jan 2011 16:39:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 16 Jan 2011 16:39:36 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7AAC3238896F; Sun, 16 Jan 2011 16:39:09 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1059610 - /httpd/httpd/branches/2.2.x/docs/manual/mod/mod_rewrite.xml.fr Date: Sun, 16 Jan 2011 16:39:09 -0000 To: cvs@httpd.apache.org From: lgentis@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110116163909.7AAC3238896F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 @@ - + @@ -1231,24 +1231,84 @@ RewriteRule ^/$ /homepa compatible perl. Dans la première règle de réécriture, l'expression est comparée au chemin de l'URL 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.

Qu'est-ce qui est comparé ? -

Le Modèle 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 + +

Dans un contexte de serveur virtuel VirtualHost, le modèle 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").

+ +

Dans les contextes de répertoire Directory et htaccess, le + modèle est tout d'abord comparé au chemin du système + de fichiers, après suppression du préfixe ou chemin de base + ayant conduit à la règle RewriteRule (par + exemple "app1/index.html" ou + "index.html" selon l'endroit où les directives sont définies).

+ +

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 RewriteCond comportant les variables %{HTTP_HOST}, %{SERVER_PORT}, ou %{QUERY_STRING}.

+ +
+ +Réécritures dans un contexte de répertoire +
    +
  • L'utilisation du moteur de réécriture dans les +fichiers .htaccess et les sections +Directory est un peu plus +complexe.
  • + +
  • Pour activer le moteur de réécriture dans ces contextes, vous devez +définir "RewriteEngine On" et +"Options FollowSymLinks". Si l'administrateur a désactivé +la possibilité de modifier l'option FollowSymLinks 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é.
  • + +
  • Lorsqu'on utilise le moteur de réécriture dans un fichier +.htaccess, le chemin de base du répertoire courant (qui est +toujours le même pour ce même répertoire) est automatiquement +supprimé au cours de la comparaison avec le modèle de la règle +de réécriture, et automatiquement ajouté 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 +RewriteBase pour plus de +détails à propos de l'ajout du préfixe après les substitutions +relatives.
  • + +
  • 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 %{REQUEST_URI} dans la directive +RewriteCond.
  • + +
  • Le prefixe supprimé se termine toujours par un slash, ce qui +signifie que la comparaison s'effectue avec une chaîne qui ne comporte +jamais de slash de début. Ainsi, un modèle contenant +^/ ne correspondra jamais dans un contexte de répertoire.
  • + +
  • Bien que les règles de réécriture soient permises du point de vue de +la syntaxe dans les sections Location et Files, elles n'y sont pas prises en compte, et +n'y sont à priori d'aucune utilité.
  • +

Pour quelques conseils à propos des expressions rationnelles, voir le document Introduction à + href="../rewrite/intro.html#regex">Introduction à mod_rewrite.

Dans mod_rewrite, on peut aussi utiliser le caractère NON @@ -1717,48 +1777,6 @@ configuration du module mod_user utilisé dans la directive RewriteRule

-Réécritures dans le contexte de répertoire - -

Le moteur de réécriture peut être utilisé dans les fichiers .htaccess. Pour activer le moteur de -réécriture pour ces fichiers, vous devez préciser "RewriteEngine -On" et "Options FollowSymLinks" -doit être activé. Si votre administrateur a interdit la surcharge de -FollowSymLinks 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é.

- -

Lorsqu'on utilise le moteur de réécriture dans les fichiers -.htaccess, le préfixe du répertoire (qui est -toujours le même pour un répertoire donné) est automatiquement -supprimé pour la comparaison du modèle et automatiquement -ajouté 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 http://, le préfixe du répertoire ne sera -pas ajouté, et une redirection externe (ou le passage -par un mandataire, si le drapeau P est utilisé) sera -initiée. Voir la directive RewriteBase pour plus de détails.

- -

Le moteur de réécriture peut aussi être utilisé dans les sections -Directory avec les -mêmes règles de comparaison des préfixes que celles qui s'appliquent -pour les fichiers .htaccess. 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 -Directory.

- -

Bien que du point de vue syntaxique, il soit permis de définir des -règles de réécriture dans les sections Location, ce n'est à priori d'aucune utilité -et n'est pas supporté.

- -
-

Voici toutes les combinaisons de substitution et leurs significations :