mod_rewrite.html.fr revision d473bb6d235246c4f9b3167ccb68948d0dbc1f68
57221209d11b05aa0373cc3892d5df89ba96ebf9Christian Maeder<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski This file is generated from xml source: DO NOT EDIT
1549f3abf73c1122acff724f718b615c82fa3648Till Mossakowski XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<title>mod_rewrite - Serveur Apache HTTP Version 2.5</title>
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
351145cfe8c03b4d47133c96b209f2bd6cfbf504Christian Maeder<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder<script src="/style/scripts/prettify.min.js" type="text/javascript">
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<link href="/images/favicon.ico" rel="shortcut icon" /></head>
f8b715ab2993083761c0aedb78f1819bcf67b6ccChristian Maeder<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/quickreference.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>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<p class="apache">Serveur Apache HTTP Version 2.5</p>
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder<img alt="" src="/images/feather.gif" /></div>
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
23a00c966f2aa8da525d7a7c51933c99964426c0Christian Maeder<div id="preamble"><h1>Module Apache mod_rewrite</h1>
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder<p><span>Langues Disponibles: </span><a href="/en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> |
8e9c3881fb6e710b1e08bf5ac8ff9d393df2e74eChristian Maeder<a href="/fr/mod/mod_rewrite.html" title="Fran�ais"> fr </a></p>
8c63cd89ef840cd7a3d3b75f0207dc800388c800Christian Maeder<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Ce module fournit un moteur de r��criture � base de
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maederr�gles permettant de r��crire les URLs des requ�tes
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>rewrite_module</td></tr>
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_rewrite.c</td></tr></table>
90c174bac60a72ffd81bc3bf5ae2dd9a61943b8bChristian Maeder <p>Le module <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> utilise un moteur de
2561b4bfc45d280ee2be8a7870314670e4e682e4Christian Maeder r��criture � base de r�gles, bas� sur un interpr�teur
ca020e82eb3567e7bdbb1cf70729efbd07e9caa4Klaus Luettich d'expressions rationnelles PCRE, pour r��crire les URLs � la vol�e. Par
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder d�faut, <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> met en correspondance une URL
ca020e82eb3567e7bdbb1cf70729efbd07e9caa4Klaus Luettich avec le syst�me de fichiers. Cependant, on peut aussi l'utiliser
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder pour rediriger une URL vers une autre URL, ou pour invoquer une
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder requ�te interne � destination du mandataire.</p>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski <p><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> fournit une m�thode souple et
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder puissante pour manipuler les URLs en utilisant un nombre illimit�
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu de r�gles. Chaque r�gle peut �tre associ�e � un nombre illimit� de
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder conditions, afin de vous permettre de r��crire les URLs en
986d3f255182539098a97ac86da9eeee5b7a72e3Christian Maeder fonction de variables du serveur, de variables d'environnement,
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder d'en-t�tes HTTP, ou de rep�res temporels.</p>
8e80792f474d154ff11762fac081a422e34f1accChristian Maeder <p><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> agit sur la totalit� de l'URL, y
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder compris la partie chemin. Une r�gle de r��criture peut �tre
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder invoqu�e dans <code>httpd.conf</code> ou dans un fichier
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder <code>.htaccess</code>. Le chemin g�n�r� par une r�gle de
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder r��criture peut inclure une cha�ne de param�tres, ou peut renvoyer
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder vers un traitement secondaire interne, une redirection vers une
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder requ�te externe ou vers le mandataire interne.</p>
4c7f058cdd19ce67b2b5d4b7f69703d0f8a21e38Christian Maeder <p>Vous trouverez d'avantage de d�tails, discussions et exemples
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder <a href="/rewrite/">documentation d�taill�e
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<div id="quickview"><h3 class="directives">Directives</h3>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#rewritebase">RewriteBase</a></li>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#rewritecond">RewriteCond</a></li>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#rewriteengine">RewriteEngine</a></li>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#rewritemap">RewriteMap</a></li>
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#rewriteoptions">RewriteOptions</a></li>
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#rewriterule">RewriteRule</a></li>
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder<li><img alt="" src="/images/down.gif" /> <a href="#logging">Journalisation</a></li>
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder<h2><a name="logging" id="logging">Journalisation</a></h2>
9a6779c8495854bdf36e4a87f98f095e8d0a6e45Christian Maeder <p><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> offre une journalisation d�taill�e
81101b83a042f5a1bdeeef93b1b49aff05817e44Christian Maeder de ses actions aux niveaux de journalisation <code>trace1</code> �
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder <code>trace8</code>. Le niveau de journalisation peut �tre d�fini de
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder mani�re sp�cifique � <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> via la directive
81101b83a042f5a1bdeeef93b1b49aff05817e44Christian Maeder <code class="directive"><a href="/mod/core.html#loglevel">LogLevel</a></code> : jusqu'au niveau
351145cfe8c03b4d47133c96b209f2bd6cfbf504Christian Maeder <code>debug</code> aucune action n'est journalis�e, alors qu'elles
351145cfe8c03b4d47133c96b209f2bd6cfbf504Christian Maeder le sont pratiquement toutes au niveau <code>trace8</code>.</p>
81101b83a042f5a1bdeeef93b1b49aff05817e44Christian Maeder L'utilisation d'un niveau de journalisation �lev� pour
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> va ralentir votre serveur HTTP Apache
351145cfe8c03b4d47133c96b209f2bd6cfbf504Christian Maeder de mani�re dramatique ! N'utilisez un niveau de journalisation
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder sup�rieur � <code>trace2</code> qu'� des fins de d�bogage !
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogLevel alert rewrite:trace3</pre>
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <p>Ceux qui sont familiers avec les versions pr�c�dentes de
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> vont probablement rechercher en vain les
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder <code>RewriteLogLevel</code>. Elles ont �t� en effet remplac�es
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder par une configuration de la journalisation par module, comme
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder mentionn� plus haut.
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder <p>Pour extraire les traces sp�cifiques �
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code>, affichez le fichier journal en
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder redirigeant la sortie vers grep :</p>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski tail -f error_log|fgrep '[rewrite:'
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder<div class="directive-section"><h2><a name="RewriteBase" id="RewriteBase">RewriteBase</a> <a name="rewritebase" id="rewritebase">Directive</a></h2>
6a22b2854c3bc9cb4877cb7d29049d6559238639Christian Maeder<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit l'URL de base pour les r��critures au niveau
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maeder<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteBase <em>chemin_URL</em></code></td></tr>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>Pas de valeur par d�faut</code></td></tr>
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r�pertoire, .htaccess</td></tr>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder <p>La directive <code class="directive">RewriteBase</code> permet de
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder sp�cifier le pr�fixe d'URL � utiliser dans un contexte de
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder r�pertoire (htaccess) pour les directives
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maeder <code class="directive">RewriteRule</code> qui r��crivent vers un chemin
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <p>Cette directive est <em>obligatoire</em> si vous utilisez un
4601edb679f0ba530bbb085b25d82a411cd070aaChristian Maeder chemin relatif dans une substitution, et dans un contexte de
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder r�pertoire (htaccess), sauf si au moins une de ces conditions est
26d11a256b1433604a3dbc69913b520fff7586acChristian Maeder v�rifi�e :</p>
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder <li>La requ�te initiale, ainsi que la substitution, se
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder situent par raport � la valeur de la directive
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <code class="directive"><a href="/mod/core.html#documentroot">DocumentRoot</a></code> (c'est �
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder dire que pour y acc�der, il n'est pas n�cessaire d'utiliser
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder une directive telle qu'<code class="directive"><a href="/mod/mod_alias.html#alias">Alias</a></code>).</li>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <li>Le chemin du syst�me de fichiers vers le r�pertoire
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder contenant la <code class="directive">RewriteRule</code>, suffix� par
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder la substitution relative est aussi valide en tant qu'URL sur
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder le serveur (ce qui est rare).</li>
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder <li>A partir de la version 2.4.11 du serveur HTTP Apache,
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder cette directive peut �tre omise lorsque la requ�te est mise en
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder correspondance avec le syst�me de fichiers via la directive
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <code class="directive"><a href="/mod/mod_alias.html#alias">Alias</a></code> ou le module
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code>.</li>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder<p>Dans l'exemple ci-dessous, la directive
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<code class="directive">RewriteBase</code> est n�cessaire afin d'�viter une
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maederr��criture en http://example.com/opt/myapp-1.2.3/welcome.html car la
03136b84a0c70d877e227444f0875e209506b9e4Christian Maederressource n'�tait pas relative � la racine des documents. Cette erreur
03136b84a0c70d877e227444f0875e209506b9e4Christian Maederde configuration aurait conduit le serveur � rechercher un r�pertoire
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder"opt" � la racine des documents.</p>
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz<pre class="prettyprint lang-config">DocumentRoot /var/www/example.com
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz RewriteEngine On
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz RewriteBase /myapp/
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz RewriteRule ^index\.html$ welcome.html
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz</Directory></pre>
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz<div class="directive-section"><h2><a name="RewriteCond" id="RewriteCond">RewriteCond</a> <a name="rewritecond" id="rewritecond">Directive</a></h2>
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit une condition qui devra �tre satisfaite pour que
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulzla r��criture soit effectu�e
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> RewriteCond
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <em>cha�ne_de_test</em> <em>expression_de_comparaison</em></code></td></tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <p>La directive <code class="directive">RewriteCond</code> permet de d�finir une
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder condition d'ex�cution d'une r�gle. Une ou plusieurs conditions
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <code class="directive">RewriteCond</code> peuvent pr�c�der une
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code>. La r�gle de r��criture correspondante n'est
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder ainsi ex�cut�e que si ces conditions sont satisfaites,
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <strong>et</strong> si l'URI correspond au mod�le sp�cifi� dans la
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <p><em>TestString</em> est une cha�ne qui peut contenir les
ee152ae82dc19d6415119c0019ae1bfa991b1f02Christian Maeder extensions suivantes en plus du texte simple :</p>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <strong>r�f�rences arri�res de r�gle de r��criture</strong> :
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder ce sont des r�f�rences arri�res de la forme
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder <strong><code>$N</code></strong> (0 <= N <= 9). $1 � $9
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder permettent d'acc�der aux parties regroup�es (entre
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder parenth�ses) du mod�le, issues de la <code>RewriteRule</code>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder concern�e par le jeu de conditions <code>RewriteCond</code>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder courant. $0 donne acc�s � l'ensemble de la cha�ne
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder correspondant au mod�le.</li>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <strong>R�f�rences arri�res de condition de r��criture
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder </strong> : ce sont des r�f�rences arri�res de la forme
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder <strong><code>%N</code></strong> (0 <= N <= 9). %1 � %9
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder permettent d'acc�der aux parties regroup�es (entre
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder parenth�ses) du mod�le, issues de la <code>RewriteRule</code>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder concern�e par le jeu de conditions <code>RewriteCond</code>
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder courant. %0 donne acc�s � l'ensemble de la cha�ne
4e144aa4be1f50519f8fa377a7883edfbc76d406Christian Maeder correspondant au mod�le.</li>
8c63cd89ef840cd7a3d3b75f0207dc800388c800Christian Maeder <strong>extensions de table de r��criture</strong> :
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder ce sont des extensions de la forme <strong><code>${nomTable:cl�|d�faut}</code></strong>. Voir la <a>href="#mapfunc">documentation sur RewriteMap</a>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder pour plus de d�tails.
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder ce sont des variables de la forme
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <strong><code>%{</code> <em>NAME_OF_VARIABLE</em> <code>}</code></strong>,
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder o� <em>NOM_DE_VARIABLE</em> peut contenir une cha�ne issue
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder de la liste suivante :
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <th>En-t�tes HTTP :</th> <th>connexion & requ�te:</th> <th />
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski HTTP_ACCEPT<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder HTTP_COOKIE<br />
ab642ff136ce716af9e609b667e3f06d766c4ad7Christian Maeder HTTP_FORWARDED<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder HTTP_HOST<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder HTTP_PROXY_CONNECTION<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder HTTP_REFERER<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder HTTP_USER_AGENT<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder AUTH_TYPE<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder CONN_REMOTE_ADDR<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder CONTEXT_PREFIX<br />
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder CONTEXT_DOCUMENT_ROOT<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder PATH_INFO<br />
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder QUERY_STRING<br />
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder REMOTE_ADDR<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder REMOTE_HOST<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder REMOTE_IDENT<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder REMOTE_PORT<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder REMOTE_USER<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder REQUEST_METHOD<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder SCRIPT_FILENAME<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <th>variables internes au serveur :</th> <th>date et heure :</th> <th>sp�ciaux :</th>
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder DOCUMENT_ROOT<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder SCRIPT_GROUP<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder SCRIPT_USER<br />
8c63cd89ef840cd7a3d3b75f0207dc800388c800Christian Maeder SERVER_ADDR<br />
8c63cd89ef840cd7a3d3b75f0207dc800388c800Christian Maeder SERVER_ADMIN<br />
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder SERVER_NAME<br />
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski SERVER_PORT<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder SERVER_PROTOCOL<br />
ee152ae82dc19d6415119c0019ae1bfa991b1f02Christian Maeder SERVER_SOFTWARE<br />
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski TIME_YEAR<br />
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski TIME_MON<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder TIME_DAY<br />
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder TIME_HOUR<br />
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder TIME_MIN<br />
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder TIME_SEC<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder TIME_WDAY<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder API_VERSION<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder CONN_REMOTE_ADDR<br />
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder IS_SUBREQ<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder REMOTE_ADDR<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder REQUEST_FILENAME<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder REQUEST_SCHEME<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder REQUEST_URI<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder THE_REQUEST<br />
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder <p>Ces variables correspondent toutes aux en-t�tes MIME
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder HTTP de m�mes noms, au variables C du serveur HTTP Apache, ou
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder aux champs <code>struct tm</code> du syst�me Unix. La
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder plupart d'entre elles sont document�es <a href="/expr.html#vars">ici</a>, dans la
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder sp�cification CGI ou ailleurs dans le
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder <p>SERVER_NAME et SERVER_PORT d�pendent respectivement
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder des valeurs des directives <code class="directive"><a href="/mod/core.html#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="/mod/core.html#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code>.</p>
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder <p>Parmi les variables
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder sp�cifiques � mod_rewrite, ou trouve les suivantes :</p>
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder <dd>C'est la version de l'API des modules Apache httpd
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder (l'interface interne entre le serveur et les modules)
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder pour la construction courante de httpd, telle qu'elle
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder est d�finie dans include/ap_mmn.h. La version de l'API
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder des modules correspond � la version du serveur Apache
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder utilis� (par exemple, pour la version 1.3.14 d'Apache
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder il s'agit de la version 19990320:10), mais int�resse
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder principalement les auteurs de modules.</dd>
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder <dd>A partir de la version 2.4.8 : l'adresse IP distante de
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder la connexion (voir le module
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder <code class="module"><a href="/mod/mod_remoteip.html">mod_remoteip</a></code>).</dd>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <dd>Contient le texte "on" si la connexion
fa167e362877db231378e17ba49c66fbb84862fcChristian Maeder utilise SSL/TLS, "off" dans le cas contraire
fa167e362877db231378e17ba49c66fbb84862fcChristian Maeder (Cette variable peut �tre utilis�e sans probl�me, que
fa167e362877db231378e17ba49c66fbb84862fcChristian Maeder <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> soit charg� ou non).</dd>
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder <dd>Contient le texte "true" si la requ�te en cours
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder de traitement est une sous-requ�te, "false" dans le
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder cas contraire. Une sous-requ�te est g�n�r�e quand un
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder module a besoin de se r�f�rer � des fichiers ou URIs
b10d6cef708b7a659f2d3b367e8e0db0d03ae3f5Till Mossakowski addidionnels pour pouvoir mener � bien sa t�che.</dd>
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder <dd>L'adresse IP de l'h�te distant (se r�f�rer au
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder module <code class="module"><a href="/mod/mod_remoteip.html">mod_remoteip</a></code>).</dd>
68138d26bcddf5e89c30206aa83ab5ec006d170dChristian Maeder <dd>Le chemin complet local au syst�me de fichiers
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder du fichier ou du script correspondant
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder � la requ�te, s'il a d�j� �t� d�termin� par le serveur
68138d26bcddf5e89c30206aa83ab5ec006d170dChristian Maeder au moment o� on y fait r�f�rence. Dans le cas
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder contraire, et en particulier dans le cas d'un serveur
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder virtuel, <code>REQUEST_FILENAME</code> contient la
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder valeur de <code>REQUEST_URI</code>. En fonction de la
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder valeur de la directive <code class="directive"><a href="/mod/core.html#acceptpathinfo">AcceptPathInfo</a></code>, le serveur
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder peut n'utiliser que certains �l�ments de t�te du
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder <code>REQUEST_URI</code> pour d�terminer � quel
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder fichier correspond la requ�te.</dd>
808b2db6b704633517cf3a1a9630166beab28df7Christian Maeder <dd>Contient le protocole de la requ�te (en g�n�ral
6a22b2854c3bc9cb4877cb7d29049d6559238639Christian Maeder "http" ou "https"). La valeur peut �tre modifi�e par
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder la directive <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code>.</dd>
808b2db6b704633517cf3a1a9630166beab28df7Christian Maeder <dd>La partie chemin de l'URI de la requ�te, comme
808b2db6b704633517cf3a1a9630166beab28df7Christian Maeder "/index.html". Ceci exclut en particulier la cha�ne de
808b2db6b704633517cf3a1a9630166beab28df7Christian Maeder param�tres de la requ�te qui est contenue dans la
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder <dd>La ligne de requ�te HTTP compl�te envoy�e par le
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder navigateur au serveur (par exemple, "<code>GET
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder /index.html HTTP/1.1</code>"), � l'exclusion de tout
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski en-t�te ajout� par le navigateur. Cette
74d9a385499bf903b24848dff450a153f525bda7Christian Maeder valeur n'a pas �t� d�s�chapp�e (d�cod�e), � la
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski diff�rence de la plupart des variables suivantes.</dd>
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder <p>Si la <em>cha�ne_de_test</em> contient la valeur sp�ciale
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski <code>expr</code>, <em>expression_de_comparaison</em> sera trait�
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski en tant qu'expression rationnelle de type <a href="/expr.html">ap_expr</a>. Si des en-t�tes HTTP sont
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski r�f�renc�s dans l'expression rationnelle, et si le drapeau
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder <code>novary</code> n'est pas activ�, ils seront ajout�s �
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder l'en-t�te Vary.</p>
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder <p>Les variables <code>SCRIPT_FILENAME</code> et
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder <code>REQUEST_FILENAME</code> contiennent toutes deux la valeur
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder structure interne <code>request_rec</code>du serveur HTTP Apache.
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder Le premier nom correspond au nom de variable bien connu CGI,
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder alors que le second est l'�quivalent de REQUEST_URI (qui
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder contient la valeur du champ <code>uri</code> de
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder <p>Si une substitution intervient et si la r��criture se
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder poursuit, la valeur des deux variables sera mise � jour en
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder cons�quence.</p>
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder <p>Dans le contexte du serveur principal (c'est � dire avant que
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder la requ�te ne soit mise en correspondance avec le syst�me de
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder fichiers), SCRIPT_FILENAME et REQUEST_FILENAME ne peuvent pas
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder contenir le chemin entier dans le syst�me de fichiers local car
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder ce chemin b'est pas connu � ce stade du traitement. Dans ce cas,
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder les deux variables contiendront la valeur de REQUEST_URI. Pour
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder obtenir le chemin complet de la requ�te dans le syst�me de
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder fichiers local dans le contexte du serveur principal, utilisez une
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder r�f�rence avant � base d'URL
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder <code>%{LA-U:REQUEST_FILENAME}</code> pour d�terminer la valeur
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder <code>%{ENV:<em>variable</em>}</code>, o� <em>variable</em> peut
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder correspondre � une variable d'environnement quelconque.</li>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <code>%{ENV:variable}</code> est aussi disponible, o�
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder <em>variable</em> peut correspondre � toute variable
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder d'environnement. Peut �tre consult� via des structures internes
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder d'Apache httpd et (si on ne les trouve pas ici) via la fonction
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder <code>getenv()</code> � partir du processus du serveur Apache
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <li>Que <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> soit charg� ou non, on peut
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder utiliser <code>%{SSL:variable}</code>, o� <em>variable</em>
329d1810c6d5a5a0827e1d07503d94431578d176Christian Maeder peut �tre remplac� par le nom d'une
329d1810c6d5a5a0827e1d07503d94431578d176Christian Maeder d'environnement SSL</a> . Si <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> n'est pas
329d1810c6d5a5a0827e1d07503d94431578d176Christian Maeder charg�, cette variable contiendra toujours une cha�ne vide.
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder Exemple : <code>%{SSL:SSL_CIPHER_USEKEYSIZE}</code> pourra
5a9a06d23910b9521e1d1cd39865ac7912ccee4bChristian Maeder On peut utiliser <code>%{HTTP:en-t�te}</code>, o�
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <em>en-t�te</em> peut correspondre � tout nom d'en-t�te MIME
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder HTTP, pour extraire la valeur d'un en-t�te envoy� dans la
329d1810c6d5a5a0827e1d07503d94431578d176Christian Maeder requ�te HTTP. Par exemple, <code>%{HTTP:Proxy-Connection}</code>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski contiendra la valeur de l'en-t�te HTTP
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder Si on utilise un en-t�te HTTP
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder dans une condition, et si cette condition est �valu�e �
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder <code>vrai</code> pour la requ�te, cet en-t�te sera ajout� � l'en-t�te Vary de
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder la r�ponse. Il ne le sera pas si la condition est �valu�e �
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder <code>faux</code>. L'ajout de l'en-t�te HTTP � l'en-t�te Vary
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder est n�cessaire � une mise en cache appropri�e.
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder <p>Il faut garder � l'esprit que les conditions suivent une
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder logique de cout-circuit si le drapeau
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder '<strong><code>ornext|OR</code></strong>' est utilis�, et que de
40d15f6c5f4d15866e085c588f8b5130dfd6cf63Christian Maeder ce fait, certaines d'entre elles ne seront pas �valu�es.</p>
27b37f8e6b165f7abb653a54b45ffcdb81cec561Christian Maeder <li>A des fins de r�f�rence avant, on peut utiliser,
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder <a id="LA-U" name="LA-U"><code>%{LA-U:variable}</code></a>, qui
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder permet d'effectuer une sous-requ�te interne � base d'URL, afin
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder de d�terminer la valeur finale de <em>variable</em>. Ceci permet
a7be28e157e9ceeec73a8fd0e642c36ea29d4218Christian Maeder d'acc�der � la valeur d'une variable pour la r��criture inconnue
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski � ce stade du traitement, mais qui sera d�finie au
32562a567baac248a00782d2727716c13117dc4aChristian Maeder cours d'une phase ult�rieure.
32562a567baac248a00782d2727716c13117dc4aChristian Maeder <p>Par exemple, pour effectuer une r��criture d�pendant de la
32562a567baac248a00782d2727716c13117dc4aChristian Maeder variable <code>REMOTE_USER</code> dans le contexte du serveur
32562a567baac248a00782d2727716c13117dc4aChristian Maeder principal (fichier <code>httpd.conf</code>), vous devez utiliser
32562a567baac248a00782d2727716c13117dc4aChristian Maeder <code>%{LA-U:REMOTE_USER}</code> - cette variable est d�finie
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder par la phase d'autorisation qui intervient <em>apr�s</em> la
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder phase de traduction d'URL (pendant laquelle mod_rewrite op�re).</p>
fa373bc327620e08861294716b4454be8d25669fChristian Maeder <p>Par contre, comme mod_rewrite impl�mente son contexte de
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder r�pertoire (fichier <code>.htaccess</code>) via la phase Fixup
fa373bc327620e08861294716b4454be8d25669fChristian Maeder de l'API, et comme la phase d'autorisation intervient
fa373bc327620e08861294716b4454be8d25669fChristian Maeder <em>avant</em> cette derni�re, vous pouvez vous contenter
fa373bc327620e08861294716b4454be8d25669fChristian Maeder d'utiliser <code>%{REMOTE_USER}</code> dans ce contexte.</p></li>
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder <code>%{LA-F:variable}</code> peut �tre utilis�e pour effectuer
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder une sous-requ�te interne (bas�e sur le nom de fichier), afin de
32562a567baac248a00782d2727716c13117dc4aChristian Maeder d�terminer la valeur finale de <em>variable</em>. La plupart du
32562a567baac248a00782d2727716c13117dc4aChristian Maeder temps, elle est identique � LA-U (voir ci-dessus).</li>
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder <p><em>expression_de_comparaison</em> est une expression
7857a35e3af533dfbd0f0e18638ebd211e6358a0Christian Maeder rationnelle qui est appliqu�e � l'instance actuelle de
746440cc1b984a852f5864235b8fa3930963a081Christian Maeder <em>cha�ne_de_test</em>. <em>cha�ne_de_test</em> est d'abord
32562a567baac248a00782d2727716c13117dc4aChristian Maeder �valu�e, puis compar�e �
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <p><em>expression_de_comparaison</em> est en g�n�ral une
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>expression rationnelle compatible perl</em>, mais vous
e68f45f355ed9d4026ee9baff5aa75aa7c911cc2Christian Maeder disposez des syntaxes suppl�mentaires suivantes pour effectuer
e68f45f355ed9d4026ee9baff5aa75aa7c911cc2Christian Maeder d'autres tests utiles sur <em>cha�ne_de_test</em> :
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>Vous pouvez pr�fixer l'expression avec un caract�re
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder '<code>!</code>' (point d'exclamation) pour inverser le r�sultat
fa167e362877db231378e17ba49c66fbb84862fcChristian Maeder de la condition, quelle que soit l'<em>expression de
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>Vous pouvez effectuer des comparaisons lexicographiques de
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong><expression</strong>' (inf�rieur au sens
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder lexicographique)<br />
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder Traite l'<em>expression</em> comme une cha�ne de
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder caract�res et la compare lexicographiquement �
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>cha�ne_de_test</em>. La condition est satisfaite si
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>cha�ne_de_test</em> est inf�rieure au sens
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder lexicographique � l'<em>expression</em>.</li>
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong>>expression</strong>' (sup�rieur au sens
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder lexicographique)<br />
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder Traite l'<em>expression</em> comme une cha�ne de
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder caract�res et la compare lexicographiquement �
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>cha�ne_de_test</em>. La condition est satisfaite si
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>cha�ne_de_test</em> est sup�rieure au sens
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder lexicographique � l'<em>expression</em>.</li>
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong>=expression</strong>' (�gal au sens
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder lexicographique)<br />
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder Traite l'<em>expression</em> comme une cha�ne de
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder caract�res et la compare lexicographiquement �
6a22b2854c3bc9cb4877cb7d29049d6559238639Christian Maeder <em>cha�ne_de_test</em>. La condition est satisfaite si
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder lexicographique � l'<em>expression</em> (les deux cha�nes
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder sont exactement identiques, caract�re pour caract�re). Si
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>expression</em> est <code>""</code> (deux guillemets),
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <em>cha�ne_de_test</em> est compar�e � la cha�ne vide.</li>
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong><=expression de comparaison</strong>' (inf�rieur ou �gal �
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder au sens lexicographique)<br />
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder Consid�re l'<em>expression_de_comparaison</em> comme une
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder cha�ne de caract�res et la compare au sens lexicographique �
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder la <em>cha�ne_de_test</em>. Vrai si <em>cha�ne_de_test</em>
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder pr�c�de lexicographiquement <em>expression_de_comparaison</em>, ou est
32562a567baac248a00782d2727716c13117dc4aChristian Maeder �gale � <em>expression_de_comparaison</em> (les deux cha�nes
32562a567baac248a00782d2727716c13117dc4aChristian Maeder sont identiques, caract�re pour caract�re).</li>
fa373bc327620e08861294716b4454be8d25669fChristian Maeder <li>'<strong>>=expression de comparaison</strong>'
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder (sup�rieur ou �gal � au sens lexicographique)<br />
fa373bc327620e08861294716b4454be8d25669fChristian Maeder Consid�re l'<em>expression_de_comparaison</em> comme une
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder cha�ne de caract�res et la compare au sens lexicographique �
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder la <em>cha�ne_de_test</em>. Vrai si <em>cha�ne_de_test</em>
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder suit lexicographiquement <em>expression_de_comparaison</em>, ou est
32562a567baac248a00782d2727716c13117dc4aChristian Maeder �gale � <em>expression_de_comparaison</em> (les deux cha�nes
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski sont identiques, caract�re pour caract�re).</li>
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder Vous pouvez effectuer des comparaisons d'entiers :
812ee1f62e0e0e7235f3c05b41a0b173497b54ffChristian Maeder <li>'<strong>-eq</strong>' (est num�riquement �gal �)<br />
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder La <em>cha�ne_de_test</em> est consid�r�e comme un entier,
3b70d8ee5c2927f843d5d907e6ef724f867f1b40Till Mossakowski et est compar�e num�riquement � l'<em>expression de
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder comparaison</em>. Vrai si les deux expressions sont
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder num�riquement �gales.</li>
3b70d8ee5c2927f843d5d907e6ef724f867f1b40Till Mossakowski <li>'<strong>-ge</strong>' (est num�riquement sup�rieur ou
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder �gal �)<br />
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder La <em>cha�ne_de_test</em> est consid�r�e comme un entier,
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder et est compar�e num�riquement � l'<em>expression de
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder comparaison</em>. Vrai si <em>cha�ne_de_test</em> est
ca732bc259f74cb4f3f725daab7fe80fc7e1d9a0Till Mossakowski num�riquement
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder sup�rieure ou �gale � <em>expression_de_comparaison</em>.</li>
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder <li>'<strong>-gt</strong>' (est num�riquement sup�rieur �)<br />
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder La <em>cha�ne_de_test</em> est consid�r�e comme un entier,
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder et est compar�e num�riquement � l'<em>expression de
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder comparaison</em>. Vrai si <em>cha�ne_de_test</em> est
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder num�riquement
ca732bc259f74cb4f3f725daab7fe80fc7e1d9a0Till Mossakowski sup�rieure � <em>expression_de_comparaison</em>.</li>
db453fe9625a9dab5d108f7a5e464598814144b8Jian Chun Wang <li>'<strong>-le</strong>' (est num�riquement inf�rieur ou
db453fe9625a9dab5d108f7a5e464598814144b8Jian Chun Wang �gal �)<br />
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder La <em>cha�ne_de_test</em> est consid�r�e comme un entier,
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski et est compar�e num�riquement � l'<em>expression de
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder comparaison</em>. Vrai si <em>cha�ne_de_test</em> est
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder num�riquement
fc033b8680245bf692c9c09723fd3046ff38971eChristian Maeder inf�rieure ou �gale � <em>expression_de_comparaison</em>.
2b2f3b72e82e28b34db9c69af2d1ec38f228272eChristian Maeder Attention � la confusion avec le drapeau <strong>-l</strong>
2b2f3b72e82e28b34db9c69af2d1ec38f228272eChristian Maeder en utilisant la variante the <strong>-L</strong> ou
2b2f3b72e82e28b34db9c69af2d1ec38f228272eChristian Maeder <li>'<strong>-lt</strong>' (est num�riquement inf�rieur �)<br />
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder La <em>cha�ne_de_test</em> est consid�r�e comme un entier,
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder et est compar�e num�riquement � l'<em>expression de
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder comparaison</em>. Vrai si <em>cha�ne_de_test</em> est
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder num�riquement
2b2f3b72e82e28b34db9c69af2d1ec38f228272eChristian Maeder inf�rieure � <em>expression_de_comparaison</em>.
fc033b8680245bf692c9c09723fd3046ff38971eChristian Maeder Attention � la confusion avec le drapeau <strong>-l</strong>
fc033b8680245bf692c9c09723fd3046ff38971eChristian Maeder en utilisant la variante the <strong>-L</strong> ou
2b2f3b72e82e28b34db9c69af2d1ec38f228272eChristian Maeder <li>Vous pouvez effectuer diff�rents tests sur les attributs de
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder <li>'<strong>-d</strong>' (est un r�pertoire -
<pre class="prettyprint lang-config"> RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
RewriteRule ^/$ /homepage.mobile.html [L]
<div class="directive-section"><h2><a name="RewriteEngine" id="RewriteEngine">RewriteEngine</a> <a name="rewriteengine" id="rewriteengine">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou d�sactive l'ex�cution du
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteEngine on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D�faut:</a></th><td><code>RewriteEngine off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<p>Plut�t que de commenter toutes les directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, il est pr�f�rable
<div class="directive-section"><h2><a name="RewriteMap" id="RewriteMap">RewriteMap</a> <a name="rewritemap" id="rewritemap">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit une fonction de mise en correspondance pour la
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteMap <em>nom de la correspondance</em> <em>type de
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<dd>S�lection al�atoire d'une entr�e depuis un fichier texte (<a href="/rewrite/rewritemap.html#rnd">D�tails ...</a>).</dd>
format de fichier texte via l'utilitaire <code><a href="/programs/httxt2dbm.html">httxt2dbm</a></code> (<a href="/rewrite/rewritemap.html#dbm">D�tails ...</a>).</dd>
<p>Vous trouverez plus de d�tails et de nombreux exemples dans le <a href="/rewrite/rewritemap.html">RewriteMap HowTo</a>.</p>
<div class="directive-section"><h2><a name="RewriteOptions" id="RewriteOptions">RewriteOptions</a> <a name="rewriteoptions" id="rewriteoptions">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure certaines options sp�ciales
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteOptions <var>Options</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
configuration <code>.htaccess</code> ou les sections <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> du r�pertoire
<p>Par d�faut, <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> ignore les URLs qui
de slash final, afin que le module <code class="module"><a href="/mod/mod_dir.html">mod_dir</a></code>
<p>Lorsque la directive <code class="directive"><a href="/mod/mod_dir.html#directoryslash">DirectorySlash</a></code> est d�finie � off, il
<p>A partir de la version 2.2.22 de httpd, lorsqu'une directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code> se situe dans un
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> ne traitera les r�gles de r��criture
que si l'URI de la requ�te respecte la syntaxe d'un <a href="directive-dict.html#Syntax">chemin URL</a>. Ceci permet
inattendus (voir <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a>
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> d'appliquer le jeu de r�gles � toute
<p>Avec cette option, la valeur de la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> est recopi�e depuis
d�finit pas sa propre directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code>. Il s'agissait du
et si la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> n'a pas �t� d�finie,
<code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code> et <code class="module"><a href="/mod/mod_alias.html">mod_alias</a></code>
<div class="directive-section"><h2><a name="RewriteRule" id="RewriteRule">RewriteRule</a> <a name="rewriterule" id="rewriterule">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit les r�gles pour le moteur de r��criture</td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<div class="note"><h3><a id="what_is_matched" name="what_is_matched">Qu'est-ce qui est compar� ?</a></h3>
<p>Dans un contexte de serveur virtuel <code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code>, le <em>mod�le</em> est tout
<p>Dans les contextes de r�pertoire <code class="directive"><a href="/mod/core.html#directory">Directory</a></code> et htaccess, le
<code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> est un peu plus
la syntaxe dans les sections <code class="directive"><a href="/mod/core.html#location"><Location></a></code> et <code class="directive"><a href="/mod/core.html#files"><Files></a></code> (y compris leurs versions sous forme
<p>Pour quelques conseils � propos des <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, voir le
<dd>Un chemin relatif � la valeur de <code class="directive"><a href="/mod/core.html#documentroot">DocumentRoot</a></code> vers la ressource qui
doit �tre servie. Notez que <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code>
correspondance d'URL (comme la directive <code class="directive"><a href="/mod/mod_alias.html#alias">Alias</a></code>) soient appliqu�es au
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> v�rifie si le nom d'h�te
<p>En outre, vous pouvez sp�cifier des <a name="rewriteflags" id="rewriteflags">actions</a> sp�ciales � effectuer en ajoutant
d�tails, et des exemples pour chaque drapeau dans le <a 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>
<td>Supprime la partie PATH_INFO de l'URI r��crit. <em><a href="/rewrite/flags.html#flag_dpi">d�tails
version 2.3.9 du serveur HTTP Apache). <em><a href="/rewrite/flags.html#flag_end">d�tails ...</a></em></td>
annule la d�finition de la variable <em>VAR</em>.<em><a href="/rewrite/flags.html#flag_e">d�tails ...</a></em></td>
<td>Renvoie un message d'erreur 410 GONE au navigateur client. <em><a href="/rewrite/flags.html#flag_g">d�tails ...</a></em></td>
.htaccess (voir aussi le drapeau END). <em><a href="/rewrite/flags.html#flag_l">d�tails ...</a></em></td>
des caract�res sp�ciaux dans le r�sultat de la r��criture. <em><a href="/rewrite/flags.html#flag_ne">d�tails ...</a></em></td>
<td>Supprime toute cha�ne de param�tres de l'URI entrant. <em><a href="/rewrite/flags.html#flag_qsd">d�tails
doit sauter les <em>nombre</em> r�gles suivantes. <em><a href="/rewrite/flags.html#flag_s">d�tails ...</a></em></td>
<td>Force l'attribution du <a class="glossarylink" href="/glossary.html#type-mime" title="voir glossaire">Type-MIME</a>
configuration du module <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code>.</p>
<p><span>Langues Disponibles: </span><a href="/en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English"> en </a> |
</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>
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_rewrite.html';
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
<p class="apache">Copyright 2014 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/quickreference.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[//><!--