mod_rewrite.xml.fr revision d02b327d1e5f8cee2f99b4243c7900292eef6153
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<!-- English Revision: 1309551:1325143 (outdated) -->
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<!-- French translation : Lucien GENTIS -->
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<!-- Reviewed by : Vincent Deffontaines -->
5a58787efeb02a1c3f06569d019ad81fd2efa06end Licensed to the Apache Software Foundation (ASF) under one or more
5a58787efeb02a1c3f06569d019ad81fd2efa06end contributor license agreements. See the NOTICE file distributed with
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen this work for additional information regarding copyright ownership.
2e545ce2450a9953665f701bb05350f0d3f26275nd The ASF licenses this file to You under the Apache License, Version 2.0
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen (the "License"); you may not use this file except in compliance with
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen the License. You may obtain a copy of the License at
3f08db06526d6901aa08c110b5bc7dde6bc39905nd Unless required by applicable law or agreed to in writing, software
5a58787efeb02a1c3f06569d019ad81fd2efa06end distributed under the License is distributed on an "AS IS" BASIS,
5a58787efeb02a1c3f06569d019ad81fd2efa06end WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5a58787efeb02a1c3f06569d019ad81fd2efa06end See the License for the specific language governing permissions and
3f08db06526d6901aa08c110b5bc7dde6bc39905nd limitations under the License.
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<description>Ce module fournit un moteur de réécriture à base de
3b3b7fc78d1f5bfc2769903375050048ff41ff26ndrègles permettant de réécrire les URLs des requêtes
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kessà la volée</description>
5a58787efeb02a1c3f06569d019ad81fd2efa06end <p>Le module <module>mod_rewrite</module> utilise un moteur de
5a58787efeb02a1c3f06569d019ad81fd2efa06end réécriture à base de règles, basé sur un interpréteur
5a58787efeb02a1c3f06569d019ad81fd2efa06end d'expressions rationnelles PCRE, pour réécrire les URLs à la volée. Par
5a58787efeb02a1c3f06569d019ad81fd2efa06end défaut, <module>mod_rewrite</module> met en correspondance une URL
5a58787efeb02a1c3f06569d019ad81fd2efa06end avec le système de fichiers. Cependant, on peut aussi l'utiliser
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess pour rediriger une URL vers une autre URL, ou pour invoquer une
5a58787efeb02a1c3f06569d019ad81fd2efa06end requête interne à destination du mandataire.</p>
5a58787efeb02a1c3f06569d019ad81fd2efa06end <p><module>mod_rewrite</module> fournit une méthode souple et
5a58787efeb02a1c3f06569d019ad81fd2efa06end puissante pour manipuler les URLs en utilisant un nombre illimité
5a58787efeb02a1c3f06569d019ad81fd2efa06end de règles. Chaque règle peut être associée à un nombre illimité de
5a58787efeb02a1c3f06569d019ad81fd2efa06end conditions, afin de vous permettre de réécrire les URLs en
5ae30adbe59946de742ab0cd6be3b7457471a698takashi fonction de variables du serveur, de variables d'environnement,
5a58787efeb02a1c3f06569d019ad81fd2efa06end d'en-têtes HTTP, ou de repères temporels.</p>
5a58787efeb02a1c3f06569d019ad81fd2efa06end <p><module>mod_rewrite</module> agit sur la totalité de l'URL, y
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen compris la partie chemin. Une règle de réécriture peut être
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen invoquée dans <code>httpd.conf</code> ou dans un fichier
5a58787efeb02a1c3f06569d019ad81fd2efa06end <code>.htaccess</code>. Le chemin généré par une règle de
5a58787efeb02a1c3f06569d019ad81fd2efa06end réécriture peut inclure une chaîne de paramètres, ou peut renvoyer
5a58787efeb02a1c3f06569d019ad81fd2efa06end vers un traitement secondaire interne, une redirection vers une
5a58787efeb02a1c3f06569d019ad81fd2efa06end requête externe ou vers le mandataire interne.</p>
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <p>Vous trouverez d'avantage de détails, discussions et exemples
5a58787efeb02a1c3f06569d019ad81fd2efa06end <a href="/rewrite/">documentation détaillée
2eb7a8afc318286c210a1fbb2ff2ba904471956frjung <p><module>mod_rewrite</module> offre une journalisation détaillée
2eb7a8afc318286c210a1fbb2ff2ba904471956frjung de ses actions aux niveaux de journalisation <code>trace1</code> à
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <code>trace8</code>. Le niveau de journalisation peut être défini de
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess manière spécifique à <module>mod_rewrite</module> via la directive
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <directive module="core">LogLevel</directive> : jusqu'au niveau
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <code>debug</code> aucune action n'est journalisée, alors qu'elles
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess le sont pratiquement toutes au niveau <code>trace8</code>.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess L'utilisation d'un niveau de journalisation élevé pour
3c29010ad1a706e8d5931b250f1bc751e0dde676rbowen <module>mod_rewrite</module> va ralentir votre serveur HTTP Apache
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess de manière dramatique ! N'utilisez un niveau de journalisation
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess supérieur à <code>trace2</code> qu'à des fins de débogage !
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar LogLevel alert rewrite:trace3
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>Ceux qui sont familiers avec les versions précédentes de
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <module>mod_rewrite</module> vont probablement rechercher en vain les
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar <code>RewriteLogLevel</code>. Elles ont été en effet remplacées
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen par une configuration de la journalisation par module, comme
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen mentionné plus haut.
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Pour extraire les traces spécifiques à
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <module>mod_rewrite</module>, affichez le fichier journal en
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess redirigeant la sortie vers grep :</p>
6f7c18e70781deff3d1129774221de81b43c828end tail -f error_log|fgrep '[rewrite:'
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </example>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<directivesynopsis>
2eb7a8afc318286c210a1fbb2ff2ba904471956frjung<description>Active ou désactive l'exécution du
2eb7a8afc318286c210a1fbb2ff2ba904471956frjungmoteur de réécriture</description>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<contextlist><context>server config</context><context>virtual host</context>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<context>directory</context><context>.htaccess</context></contextlist>
2eb7a8afc318286c210a1fbb2ff2ba904471956frjung <p>La directive <directive>RewriteEngine</directive> active ou
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess désactive l'exécution du moteur de réécriture. Si sa valeur est
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <code>off</code>, ce module n'exécutera aucun traitement et ne
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess mettra pas à jour les variables d'environnement
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Pour désactiver le module, il vaut mieux utiliser cette
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess directive que commenter toutes les directives <directive
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <p>Notez que les hôtes virtuels n'héritent pas des
5a58787efeb02a1c3f06569d019ad81fd2efa06end configurations de réécriture. Ceci implique que vous devez
5a58787efeb02a1c3f06569d019ad81fd2efa06end insérer une directive <code>RewriteEngine on</code> dans chaque
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess hôte virtuel pour lequel vous souhaitez utiliser des règles
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess de réécriture.</p>
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <p>Les directives <directive>RewriteMap</directive> du type
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <code>prg</code> ne sont pas prises en compte au cours de
5ae30adbe59946de742ab0cd6be3b7457471a698takashi l'initialisation du serveur si elle ont été définies dans un
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess contexte où la directive <directive>RewriteEngine</directive> n'a
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess pas été définie à <code>on</code>.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess</directivesynopsis>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<directivesynopsis>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<description>Configure certaines options spéciales
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coarpour le moteur de réécriture</description>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<contextlist><context>server config</context><context>virtual host</context>
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar<context>directory</context><context>.htaccess</context></contextlist>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<compatibility><code>MaxRedirects</code> n'est plus disponible depuis
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowenla version version 2.1</compatibility>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>La directive <directive>RewriteOptions</directive> définit
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar certaines options spéciales pour la configuration au niveau du
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen serveur ou du répertoire. La chaîne de caractères <em>Option</em>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ne peut actuellement prendre qu'une des valeurs suivantes :</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Ceci force la configuration locale à hériter de la
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess configuration du niveau supérieur. Dans le contexte des hôtes
261c62b53a9c707c64c7824eed68b5463bd23e62nd virtuels, cela signifie que les correspondances, conditions et
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess règles du serveur principal sont héritées. Dans le contexte des
5ae30adbe59946de742ab0cd6be3b7457471a698takashi répertoires, cela signifie que les conditions et règles de la
5a58787efeb02a1c3f06569d019ad81fd2efa06end configuration <code>.htaccess</code> ou les sections <directive
5a58787efeb02a1c3f06569d019ad81fd2efa06end type="section" module="core">Directory</directive> du répertoire
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess parent sont héritées. Les règles héritées sont virtuellement
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess copiées dans la section où cette directive est utilisée. Si elles
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess sont utilisées avec des règles locales, les règles héritées sont
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess placées après ces dernières. La place de cette directive - avant
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess ou après les règles locales - n'a aucune influence sur ce
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess comportement. Si des règles locales ont forcé l'arrêt de la
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess réécriture, les règles héritées ne seront pas traitées.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess Les règles héritées du niveau parent sont appliquées
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <strong>after</strong> après les règles spécifiées dans le niveau
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>Même effet que l'option <code>Inherit</code> ci-dessus, mais
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen les règles spécifiées dans le niveau parent s'appliquent
4aa603e6448b99f9371397d439795c91a93637eand <strong>avant</strong> les règles spécifiées dans le niveau
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess enfant. Disponible depuis la version 2.3.10 du serveur HTTP
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess Apache.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Par défaut, <module>mod_rewrite</module> ignore les URLs qui
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess correspondent à un répertoire sur disque, mais ne comportent pas
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess de slash final, afin que le module <module>mod_dir</module>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess redirige le client vers l'URL canonique avec un slash final.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess module="mod_dir">DirectorySlash</directive> est définie à off, il
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess est possible de spécifier l'option <code>AllowNoSlash</code> pour
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess s'assurer que les règles de réécriture ne soient plus ignorées.
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess Si on le souhaite, cette option permet de faire s'appliquer des
5ae30adbe59946de742ab0cd6be3b7457471a698takashi règles de réécriture qui correspondent à un répertoire sans slash
5a58787efeb02a1c3f06569d019ad81fd2efa06end final au sein de fichiers .htaccess. Elle est disponible à
5a58787efeb02a1c3f06569d019ad81fd2efa06end partir de la version 2.4.0 du serveur HTTP Apache.</p>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf</directivesynopsis>
4aa603e6448b99f9371397d439795c91a93637eand<directivesynopsis>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<description>Définit une fonction de mise en correspondance pour la
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowenrecherche de mots-clés</description>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<syntax>RewriteMap <em>nom de la correspondance</em> <em>type de
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coarcorrespondance</em>:<em>source de la correspondance</em>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<contextlist><context>server config</context><context>virtual host</context>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen</contextlist>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<compatibility>Il est possible de choisir entre plusieurs types de
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coarbases de données depuis la version 2.0.41 du serveur HTTP Apache</compatibility>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>La directive <directive>RewriteMap</directive> définit une
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <em>Table de correspondance pour la réécriture</em> que les
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar fonctions de mise en correspondance
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen peuvent utiliser dans les chaînes de substitution des règles
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen pour insérer/substituer des champs en recherchant des mots-clés.
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen La source utilisée pour cette recherche peut être de plusieurs
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess correspondance</em></a> est le nom de la table de correspondance
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess et servira à spécifier une fonction de mise en correspondance
5ae30adbe59946de742ab0cd6be3b7457471a698takashi pour les chaînes de substitution d'une règle de réécriture selon
5a58787efeb02a1c3f06569d019ad81fd2efa06end une des constructions suivantes :</p>
4aa603e6448b99f9371397d439795c91a93637eand <em>mot-clé</em> <code>|</code> <em>valeur par défaut</em>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>Lorsqu'une telle construction est rencontrée, la table de
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen correspondance <em>Nom de la correspondance</em> est consultée
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen et la clé <em>mot-clé</em> recherchée. Si la clé est trouvée, la
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen construction est remplacée par
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar la <em>valeur de remplacement</em>. Si la clé n'est pas trouvée,
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen elle est remplacée par la <em>valeur par défaut</em>, ou par une
4aa603e6448b99f9371397d439795c91a93637eand chaîne vide si aucune <em>valeur par défaut</em> n'est
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess spécifiée. La valeur vide se comporte comme si la
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess clé était absente ; il est donc impossible de distinguer une
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess valeur vide d'une absence de clé.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Par exemple, vous pouvez définir une directive
5a58787efeb02a1c3f06569d019ad81fd2efa06end </example>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Vous pourrez ensuite utiliser cette table dans une
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess directive <directive>RewriteRule</directive> comme suit :</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess RewriteRule ^/ex/(.*) ${map-exemple:$1}
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </example>
4aa603e6448b99f9371397d439795c91a93637eand <p>Les combinaisons suivantes pour <em>type de correspondance</em>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen peuvent être utilisées :</p>
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar <dd>Un fichier texte contenant des paires clé-valeur séparées
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen par des espaces, une paire par ligne (<a
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen href="/rewrite/rewritemap.html#txt">Détails ...</a>).</dd>
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar <dd>Sélection aléatoire d'une entrée depuis un fichier texte (<a
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen href="/rewrite/rewritemap.html#rnd">Détails ...</a>).</dd>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <dd>Recherche une entrée dans un fichier dbm contenant des
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar paires nom-valeur. Le condensé hash est élaboré à partir d'un
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen href="/programs/httxt2dbm.html">httxt2dbm</a></code> (<a
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen href="/rewrite/rewritemap.html#dbm">Détails ...</a>).</dd>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <dd>Une des quatre fonctions internes disponibles que fournit
4aa603e6448b99f9371397d439795c91a93637eand <code>RewriteMap</code>: toupper, tolower, escape ou unescape
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess (<a href="/rewrite/rewritemap.html#int">Détails ...</a>).</dd>
5a58787efeb02a1c3f06569d019ad81fd2efa06end <dd>Appelle un programme externe ou un script pour effectuer la
5a58787efeb02a1c3f06569d019ad81fd2efa06end réécriture (<a href="/rewrite/rewritemap.html#int">Détails
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf <dd>Une commande SQL SELECT à exécuter pour rechercher la cible
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess de réécriture (<a href="/rewrite/rewritemap.html#int">Détails
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<p>Vous trouverez plus de détails et de nombreux exemples dans le <a
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowenhref="/rewrite/rewritemap.html">RewriteMap HowTo</a>.</p>
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar</directivesynopsis>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<directivesynopsis>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<description>Définit l'URL de base pour les réécritures au niveau
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coarrépertoire</description>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<contextlist><context>directory</context><context>.htaccess</context>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen</contextlist>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>La directive <directive>RewriteBase</directive> permet de
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen spécifier le préfixe d'URL à utiliser dans un contexte de
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen répertoire (htaccess) pour les directives
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar <directive>RewriteRule</directive> qui réécrivent vers un chemin
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen relatif.</p>
4aa603e6448b99f9371397d439795c91a93637eand <p>Cette directive est <em>obligatoire</em> si vous utilisez un
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess chemin relatif dans une substitution, et dans un contexte de
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess répertoire (htaccess), sauf si au moins une de ces conditions est
5ae30adbe59946de742ab0cd6be3b7457471a698takashi vérifiée :</p>
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen <li>La requête initiale, ainsi que la substitution, sont dans
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen la <directive module="core">DocumentRoot</directive> (c'est à
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen dire que pour y accéder, il n'est pas nécessaire d'utiliser
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen une directive telle qu'<directive
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen <li>Le chemin du système de fichiers vers le répertoire
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd contenant la <directive>RewriteRule</directive>, suffixé par
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd la substitution relative est aussi valide en tant qu'URL sur
b244bbf442a0aea3dc397b4d0d751f4716c5891dnd le serveur (ce qui est rare).</li>
4aa603e6448b99f9371397d439795c91a93637eand<p>Dans l'exemple ci-dessous, la directive
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen<directive>RewriteBase</directive> est nécessaire afin d'éviter une
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowenréécriture en http://example.com/opt/myapp-1.2.3/welcome.html car la
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowenressource n'était pas relative à la racine des documents. Cette erreur
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowende configuration aurait conduit le serveur à rechercher un répertoire
4aa603e6448b99f9371397d439795c91a93637eand"opt" à la racine des documents.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kessRewriteEngine On
5ae30adbe59946de742ab0cd6be3b7457471a698takashiRewriteBase /myapp/
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kessRewriteRule ^index\.html$ welcome.html
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess</Directory>
4aa603e6448b99f9371397d439795c91a93637eand</directivesynopsis>
4aa603e6448b99f9371397d439795c91a93637eand<directivesynopsis>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<description>Définit une condition qui devra être satisfaite pour que
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kessla réécriture soit effectuée
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess</description>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<syntax> RewriteCond
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <em>chaîne de test</em> <em>expression de comparaison</em></syntax>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<contextlist><context>server config</context><context>virtual host</context>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<context>directory</context><context>.htaccess</context></contextlist>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>La directive <directive>RewriteCond</directive> permet de définir une
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess condition d'exécution d'une règle. Une ou plusieurs conditions
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <directive>RewriteCond</directive> peuvent précéder une
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess >RewriteRule</directive>. La règle de réécriture correspondante n'est
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess ainsi exécutée que si ces conditions sont satisfaites,
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <strong>et</strong> si l'URI correspond au modèle spécifié dans la
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess règle.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p><em>TestString</em> est une chaîne qui peut contenir les
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess extensions suivantes en plus du texte simple :</p>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <strong>références arrières de règle de réécriture</strong> :
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ce sont des références arrières de la forme
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <strong><code>$N</code></strong> (0 <= N <= 9). $1 à $9
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar permettent d'accéder aux parties regroupées (entre
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen parenthèses) du modèle, issues de la <code>RewriteRule</code>
4aa603e6448b99f9371397d439795c91a93637eand concernée par le jeu de conditions <code>RewriteCond</code>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess courant. $0 donne accès à l'ensemble de la chaîne
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess correspondant au modèle.</li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <strong>Références arrières de condition de réécriture
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </strong> : ce sont des références arrières de la forme
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <strong><code>%N</code></strong> (0 <= N <= 9). %1 à %9
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess permettent d'accéder aux parties regroupées (entre
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess parenthèses) du modèle, issues de la <code>RewriteRule</code>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess concernée par le jeu de conditions <code>RewriteCond</code>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess courant. %0 donne accès à l'ensemble de la chaîne
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess correspondant au modèle.</li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <strong>extensions de table de réécriture</strong> :
4aa603e6448b99f9371397d439795c91a93637eand >${nomTable:clé|défaut}</code></strong>. Voir la <a
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar >href="#mapfunc">documentation sur RewriteMap</a>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen pour plus de détails.
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess ce sont des variables de la forme
d5b8072762cf428c4c703ed7054ae948d41c910bnd <strong><code>%{</code> <em>NAME_OF_VARIABLE</em> <code>}</code></strong>,
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess où <em>NOM_DE_VARIABLE</em> peut contenir une chaîne issue
3c29010ad1a706e8d5931b250f1bc751e0dde676rbowen de la liste suivante :
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <th>En-têtes HTTP :</th> <th>connexion & requête:</th> <th></th>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess HTTP_USER_AGENT<br />
261c62b53a9c707c64c7824eed68b5463bd23e62nd HTTP_REFERER<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess HTTP_COOKIE<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess HTTP_FORWARDED<br />
a795ca2487c774aa6fe75c765a2bf17f969f7af7nd HTTP_HOST<br />
a795ca2487c774aa6fe75c765a2bf17f969f7af7nd HTTP_PROXY_CONNECTION<br />
a795ca2487c774aa6fe75c765a2bf17f969f7af7nd HTTP_ACCEPT<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess REMOTE_ADDR<br />
4aa603e6448b99f9371397d439795c91a93637eand REMOTE_HOST<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen REMOTE_PORT<br />
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar REMOTE_USER<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen REMOTE_IDENT<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen REQUEST_METHOD<br />
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar SCRIPT_FILENAME<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen PATH_INFO<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen QUERY_STRING<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen AUTH_TYPE<br />
4aa603e6448b99f9371397d439795c91a93637eand <th>variables internes au serveur :</th> <th>date et heure :</th> <th>spéciaux :</th>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess DOCUMENT_ROOT<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess SERVER_ADMIN<br />
5ae30adbe59946de742ab0cd6be3b7457471a698takashi SERVER_NAME<br />
5a58787efeb02a1c3f06569d019ad81fd2efa06end SERVER_ADDR<br />
5a58787efeb02a1c3f06569d019ad81fd2efa06end SERVER_PORT<br />
5ae30adbe59946de742ab0cd6be3b7457471a698takashi SERVER_PROTOCOL<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess SERVER_SOFTWARE<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess TIME_YEAR<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess TIME_MON<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess TIME_DAY<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess TIME_HOUR<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess TIME_MIN<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess TIME_SEC<br />
4aa603e6448b99f9371397d439795c91a93637eand TIME_WDAY<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen API_VERSION<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen THE_REQUEST<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen REQUEST_URI<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen REQUEST_FILENAME<br />
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar IS_SUBREQ<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen HTTPS<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen REQUEST_SCHEME<br />
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>Ces variables correspondent toutes aux en-têtes MIME
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen HTTP de mêmes noms, au variables C du serveur HTTP Apache, ou
c3c937a1510d6ff9cfa28ef3713e787f0e1a39c9coar aux champs <code>struct tm</code> du système Unix. La
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen plupart d'entre elles sont documentées ailleurs dans le
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen manuel ou dans la spécification CGI.</p>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <p>SERVER_NAME et SERVER_PORT dépendent respectivement
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen des valeurs des directives <directive
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess module="core">UseCanonicalPhysicalPort</directive>.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Parmi les variables
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess spécifiques à mod_rewrite, ou trouve les suivantes :</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <dd>Contient le texte "true" si la requête en cours
a795ca2487c774aa6fe75c765a2bf17f969f7af7nd de traitement est une sous-requête, "false" dans le
a795ca2487c774aa6fe75c765a2bf17f969f7af7nd cas contraire. Une sous-requête est générée quand un
a795ca2487c774aa6fe75c765a2bf17f969f7af7nd module a besoin de se référer à des fichiers ou URIs
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess addidionnels pour pouvoir mener à bien sa tâche.</dd>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <dd>C'est la version de l'API des modules Apache httpd
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess (l'interface interne entre le serveur et les modules)
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess pour la construction courante de httpd, telle qu'elle
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess est définie dans include/ap_mmn.h. La version de l'API
5ae30adbe59946de742ab0cd6be3b7457471a698takashi des modules correspond à la version du serveur Apache
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd utilisé (par exemple, pour la version 1.3.14 d'Apache
7f5b59ccc63c0c0e3e678a168f09ee6a2f51f9d0nd il s'agit de la version 19990320:10), mais intéresse
4b3a8afbfcea8b265d179a122bf40dfedd1ce280takashi principalement les auteurs de modules.</dd>
727872d18412fc021f03969b8641810d8896820bhumbedooh <dd>La ligne de requête HTTP complète envoyée par le
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh navigateur au serveur (par exemple, "<code>GET
0d0ba3a410038e179b695446bb149cce6264e0abnd /index.html HTTP/1.1</code>"), à l'exclusion de tout
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh en-tête ajouté par le navigateur. Cette
727872d18412fc021f03969b8641810d8896820bhumbedooh valeur n'a pas été déséchappée (décodée), à la
0d0ba3a410038e179b695446bb149cce6264e0abnd différence de la plupart des variables suivantes.</dd>
0d0ba3a410038e179b695446bb149cce6264e0abnd <dd>La partie chemin de l'URI de la requête, comme
0d0ba3a410038e179b695446bb149cce6264e0abnd "/index.html". En particulier, ceci exclut la chaîne
0d0ba3a410038e179b695446bb149cce6264e0abnd de paramètres qui est quant à elle disponible via sa
205f749042ed530040a4f0080dbcb47ceae8a374rjung <dd>Le chemin complet local au système de fichiers
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen du fichier ou du script correspondant
0d0ba3a410038e179b695446bb149cce6264e0abnd à la requête, s'il a déjà été déterminé par le serveur
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd au moment où on y fait référence. Dans le cas
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd contraire, et en particulier dans le cas d'un serveur
<code>vrai</code> pour la requête, cet en-tête sera ajouté à l'en-tête Vary de
RewriteRule ...règles concernant tous ces hôtes...
RewriteRule ^/$ /homepage.max.html [L]
RewriteRule ^/$ /homepage.min.html [L]
RewriteRule ^/$ /homepage.std.html [L]
<description>Définit les règles pour le moteur de réécriture</description>
la dernière règle de réécriture qui a été appliquée.</p>
<note><title><a id="what_is_matched" name="what_is_matched">Qu'est-ce qui est comparé ?</a></title>
moteur de réécriture. Cette restriction a été instaurée à des fins de
href="/rewrite/intro.html#regex">Introduction à
précédente, selon l'ordre dans lequel elles ont été définies dans
href="/rewrite/flags.html">document à propos des drapeaux de
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>
href="/rewrite/flags.html#flag_dpi">détails
<td>Réexécute le processus de réécriture à partir de la première
href="/rewrite/flags.html#flag_n">détails
des caractères spéciaux dans le résultat de la réécriture. <em><a
href="/rewrite/flags.html#flag_p">détails
requête originale à toute chaîne de paramètres créée dans la
href="/rewrite/flags.html#flag_qsd">détails