mod_rewrite.html.fr revision d473bb6d235246c4f9b3167ccb68948d0dbc1f68
57221209d11b05aa0373cc3892d5df89ba96ebf9Christian Maeder<?xml version="1.0" encoding="ISO-8859-1"?>
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
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu -->
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">
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski</script>
1549f3abf73c1122acff724f718b615c82fa3648Till Mossakowski
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<link href="/images/favicon.ico" rel="shortcut icon" /></head>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<body>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder<div id="page-header">
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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder<div id="path">
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
db453fe9625a9dab5d108f7a5e464598814144b8Jian Chun Wang<div id="page-content">
23a00c966f2aa8da525d7a7c51933c99964426c0Christian Maeder<div id="preamble"><h1>Module Apache mod_rewrite</h1>
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder<div class="toplang">
575a55eadc8dcab8ee350324b417cbd9e52e69c0Christian Maeder<p><span>Langues Disponibles: </span><a href="/en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
8e9c3881fb6e710b1e08bf5ac8ff9d393df2e74eChristian Maeder<a href="/fr/mod/mod_rewrite.html" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
db453fe9625a9dab5d108f7a5e464598814144b8Jian Chun Wang</div>
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� la vol�e</td></tr>
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>
0e2ae85e2453466d03c1fc5884a3d693235bb9d9Christian Maeder<h3>Sommaire</h3>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder
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>
16e124196c6b204769042028c74f533509c9b5d3Christian Maeder
4c7f058cdd19ce67b2b5d4b7f69703d0f8a21e38Christian Maeder <p>Vous trouverez d'avantage de d�tails, discussions et exemples
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder dans la
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder <a href="/rewrite/">documentation d�taill�e
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder sur mod_rewrite</a>.</p>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder</div>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<div id="quickview"><h3 class="directives">Directives</h3>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder<ul id="toc">
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>
e6dccba746efe07338d3107fed512e713fd50b28Christian Maeder</ul>
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder<h3>Sujets</h3>
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder<ul id="topics">
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>
351145cfe8c03b4d47133c96b209f2bd6cfbf504Christian Maeder<div class="section">
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder<h2><a name="logging" id="logging">Journalisation</a></h2>
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder
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>
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder
81101b83a042f5a1bdeeef93b1b49aff05817e44Christian Maeder <div class="note">
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 !
81101b83a042f5a1bdeeef93b1b49aff05817e44Christian Maeder </div>
81101b83a042f5a1bdeeef93b1b49aff05817e44Christian Maeder
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">LogLevel alert rewrite:trace3</pre>
9eb39c7a0e7a1ddad1eec1d23c6d4e3a99c54023Christian Maeder</div>
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder <div class="note"><h3>RewriteLog</h3>
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 directives <code>RewriteLog</code> et
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.
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder </p>
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder
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>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <div class="example"><p><code>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski tail -f error_log|fgrep '[rewrite:'
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder </code></p></div>
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder </div>
fa167e362877db231378e17ba49c66fbb84862fcChristian Maeder
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder</div>
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>
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder<table class="directive">
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
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maederr�pertoire</td></tr>
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>
4b6aa93c12e4db86ccc7694a48a73e9cf7262d06Christian Maeder</table>
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 relatif.</p>
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 <ul>
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>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder </ul>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder
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>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz<pre class="prettyprint lang-config">DocumentRoot /var/www/example.com
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst SchulzAliasMatch ^/myapp /opt/myapp-1.2.3
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz&lt;Directory /opt/myapp-1.2.3&gt;
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz RewriteEngine On
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz RewriteBase /myapp/
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz RewriteRule ^index\.html$ welcome.html
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz&lt;/Directory&gt;</pre>
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz
bdf2e01977470bedcb4425e2dadabc9e9f6ba149Ewaryst Schulz
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder</div>
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<table class="directive">
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</td></tr>
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</table>
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 r�gle.</p>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder
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
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <ul>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <li>
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 &lt;= N &lt;= 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>
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder <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 &lt;= N &lt;= 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>
568da6120906d5283c4322114eee10f24ea8dd6dChristian Maeder <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"&gt;documentation sur RewriteMap</a>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder pour plus de d�tails.
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder </li>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <li>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <strong>Variables du serveur</strong> :
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
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <table>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <tr>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <th>En-t�tes HTTP :</th> <th>connexion &amp; requ�te:</th> <th />
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder </tr>
8c63cd89ef840cd7a3d3b75f0207dc800388c800Christian Maeder
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <tr>
8cceb39f451593f3904acbf9d64bea6af9860b57Christian Maeder <td>
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 </td>
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder <td>
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder AUTH_TYPE<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder CONN_REMOTE_ADDR<br />
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder CONTEXT_PREFIX<br />
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder CONTEXT_DOCUMENT_ROOT<br />
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder IPV6<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 />
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder </td>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder <td />
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder </tr>
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder
88124ca824f94153b0a2a24ea1e4b089fff7011fChristian Maeder <tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder <th>variables internes au serveur :</th> <th>date et heure :</th> <th>sp�ciaux :</th>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder </tr>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <tr>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder <td>
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 />
ee152ae82dc19d6415119c0019ae1bfa991b1f02Christian Maeder </td>
ee152ae82dc19d6415119c0019ae1bfa991b1f02Christian Maeder
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder <td>
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 TIME<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder </td>
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder
b2026c46f0e4c6a05931f1bf0ab2e84ce884c814Christian Maeder <td>
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder API_VERSION<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder CONN_REMOTE_ADDR<br />
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder HTTPS<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 </td>
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder </tr>
99476ac2689c74251219db4782e57fe713a24a52Christian Maeder </table>
e01299e9b22b96b31b720ca1e9f9f5f25af9b024Christian Maeder
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
6a22b2854c3bc9cb4877cb7d29049d6559238639Christian Maeder manuel.</p>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski
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
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder <p>Parmi les variables
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder sp�cifiques � mod_rewrite, ou trouve les suivantes :</p>
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder <div class="note">
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maeder <dl>
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <dt><code>API_VERSION</code></dt>
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maeder
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
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder httpd
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder utilis� (par exemple, pour la version 1.3.14 d'Apache
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder httpd,
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder il s'agit de la version 19990320:10), mais int�resse
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder principalement les auteurs de modules.</dd>
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder <dt><code>CONN_REMOTE_ADDR</code></dt>
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder
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>
e82587ca2892d246aa4405c2f5b9f30f287f9ebfChristian Maeder
2561b4bfc45d280ee2be8a7870314670e4e682e4Christian Maeder <dt><code>HTTPS</code></dt>
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maeder
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>
fa167e362877db231378e17ba49c66fbb84862fcChristian Maeder
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder <dt><code>IS_SUBREQ</code></dt>
aea143fff7a50aceb809845fbc42698b0b3f545aChristian Maeder
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>
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder <dt><code>REMOTE_ADDR</code></dt>
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>
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder
a23e572c8f957cc051a1b0831abd6fe9380d45c7Christian Maeder <dt><code>REQUEST_FILENAME</code></dt>
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder
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
808b2db6b704633517cf3a1a9630166beab28df7Christian Maeder <dt><code>REQUEST_SCHEME</code></dt>
68138d26bcddf5e89c30206aa83ab5ec006d170dChristian Maeder
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>
86b1d0c80abdd4ca36491cf7025b718a5fea5080Christian Maeder
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder <dt><code>REQUEST_URI</code></dt>
a001917177db7ae636853b37c0d0f9f4e90a83ffChristian Maeder
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 variable <code>QUERY_STRING</code>.</dd>
d5833d2ee7bafcbf2fdd2bdfd9a728c769b100c7Christian Maeder
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder <dt><code>THE_REQUEST</code></dt>
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder
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>
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder </dl>
812ee1f62e0e0e7235f3c05b41a0b173497b54ffChristian Maeder</div>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski </li>
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder </ul>
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski
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>
ebc51e8081f6f1fe2f3d39ceff81d8dd0169c0b0Christian Maeder
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski <p>Autres points � conna�tre ::</p>
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder <ol>
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder <li>
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder <p>Les variables <code>SCRIPT_FILENAME</code> et
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder <code>REQUEST_FILENAME</code> contiennent toutes deux la valeur
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder du champ <code>filename</code> de la
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 <code>request_rec</code>).</p>
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
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder finale de REQUEST_FILENAME.</p></li>
be98c516a8ff1d496fcdeb9b8be8c5f4b908ab95Christian Maeder
22eea35d0effc6582b2951a28b5240fa7a82f3dfChristian Maeder
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <li>
a74f814d3b445eadad6f68737a98a7a303698affChristian Maeder <code>%{ENV:<em>variable</em>}</code>, o� <em>variable</em> peut
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder correspondre � une variable d'environnement quelconque.</li>
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder <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
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder httpd.</li>
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder
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
5e46b572ed576c0494768998b043d9d340594122Till Mossakowski <a href="mod_ssl.html#envvars">variable
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
d058429727dd696a0327cdc28cadd268c34c36baChristian Maeder contenir la valeur <code>128</code>.</li>
03136b84a0c70d877e227444f0875e209506b9e4Christian Maeder
5a9a06d23910b9521e1d1cd39865ac7912ccee4bChristian Maeder <li>
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 "<code>Proxy-Connection:</code>".
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>
40d15f6c5f4d15866e085c588f8b5130dfd6cf63Christian Maeder </li>
40d15f6c5f4d15866e085c588f8b5130dfd6cf63Christian Maeder
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>
fa373bc327620e08861294716b4454be8d25669fChristian Maeder
fa373bc327620e08861294716b4454be8d25669fChristian Maeder <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>
32562a567baac248a00782d2727716c13117dc4aChristian Maeder </ol>
fa373bc327620e08861294716b4454be8d25669fChristian Maeder
fa373bc327620e08861294716b4454be8d25669fChristian Maeder
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 �
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maeder l'<em>expression_de_comparaison</em>.</p>
7a47fbe6b987bd69a5056ce5d00fc8710f6c5e8aChristian Maeder
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> :
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder </p>
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <ol>
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
4aa35aadcb28f8a962096efc70d3bdb58ab7d9faChristian Maeder comparaison</em> utilis�e.</li>
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>Vous pouvez effectuer des comparaisons lexicographiques de
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder cha�nes :
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <ul>
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong>&lt;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
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong>&gt;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
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 <em>cha�ne_de_test</em> est �gale au sens
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
d79a4d0d842c212f82f9507fff178ffe4ba2e214Christian Maeder <li>'<strong>&lt;=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>
32562a567baac248a00782d2727716c13117dc4aChristian Maeder
fa373bc327620e08861294716b4454be8d25669fChristian Maeder <li>'<strong>&gt;=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 </ul></li>
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder <li>
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder Vous pouvez effectuer des comparaisons d'entiers :
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder <ul>
3c8d067accf18572352351ec42ff905c7297a8a5Christian Maeder
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>
2766ec926fcf3faf72248b10c3305b715b8c3249Christian Maeder
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
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
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
9ecf13b5fd914bc7272f1fc17348d7f4a8c77061Christian Maeder <strong>-h</strong>.</li>
5824312cc0cfccce61f195fbe92307a21a467049Christian Maeder
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
40d15f6c5f4d15866e085c588f8b5130dfd6cf63Christian Maeder <strong>-h</strong>.</li>
40d15f6c5f4d15866e085c588f8b5130dfd6cf63Christian Maeder
d0c66a832d7b556e20ea4af4852cdc27a5463d51Christian Maeder </ul>
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder </li>
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder
2b2f3b72e82e28b34db9c69af2d1ec38f228272eChristian Maeder <li>Vous pouvez effectuer diff�rents tests sur les attributs de
db453fe9625a9dab5d108f7a5e464598814144b8Jian Chun Wang fichier :
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder <ul>
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder
0ccfc8f86bd6518556ef09e367a0ce2bd1a69c91Christian Maeder <li>'<strong>-d</strong>' (est un r�pertoire -
7830e8fa7442fb7452af7ecdba102bc297ae367eChristian Maeder <strong>d</strong>irectory)<br />
Traite <em>cha�ne_de_test</em> comme un chemin et v�rifie
s'il existe ou pas, et s'il s'agit d'un r�pertoire.</li>
<li>'<strong>-f</strong>' (est un
<strong>f</strong>ichier r�gulier)<br />
Traite <em>cha�ne_de_test</em> comme un chemin et v�rifie
s'il existe ou pas, et s'il s'agit d'un fichier r�gulier.</li>
<li>'<strong>-F</strong>' (test de l'existence d'un fichier
via une sous-requ�te)<br />
V�rifie si <em>cha�ne_de_test</em> est un fichier valide,
accessible � travers tous les contr�les d'acc�s du serveur
actuellement configur�s pour ce chemin. C'est une
sous-requ�te interne qui effectue cette v�rification - �
utiliser avec pr�cautions car les performances du serveur
peuvent s'en trouver affect�es !</li>
<li>'<strong>-H</strong>' (est un lien symbolique, selon la
convention bash)<br />
Voir <strong>-l</strong>.</li>
<li>'<strong>-l</strong>' (est un lien symbolique)<br />
Consid�re la <em>cha�ne_de_test</em> comme un chemin et
v�rifie son existence et si elle est un lien symbolique. On
peut aussi utiliser la convention bash <strong>-L</strong>
ou <strong>-h</strong> lorsqu'il y a risque de confusion
avec les tests <strong>-lt</strong> ou <strong>-le</strong>.</li>
<li>'<strong>-L</strong>' (est un lien symbolique, selon la
convention bash)<br />
Voir <strong>-l</strong>.</li>
<li>'<strong>-s</strong>' (est un fichier r�gulier d'une
certaine taille)<br />
Consid�re la <em>cha�ne_de_test</em> comme un chemin et
v�rifie son existence et si elle est un fichier r�gulier
d'une taille sup�rieure � z�ro.</li>
<li><p>'<strong>-U</strong>' (test de l'existence d'une
URL via une sous-requ�te)<br />
V�rifie si <em>cha�ne_de_test</em> est une URL valide,
accessible � travers tous les contr�les d'acc�s du serveur
actuellement configur�s pour ce chemin. C'est une
sous-requ�te interne qui effectue cette v�rification - �
utiliser avec pr�cautions car les performances du serveur
peuvent s'en trouver affect�es !</p>
<p>Ce drapeau ne renvoie <em>que</em> des informations
concernant le contr�le d'acc�s, l'authentification et
l'autorisation. Il ne renvoie <em>pas</em> d'informations
concernant le code d'�tat que le gestionnaire configur�
(static file, CGI, proxy, etc...) aurait, quant � lui,
retourn�.</p></li>
<li>'<strong>-x</strong>' (a l'attribut d'ex�cution positionn�)<br />
Consid�re la <em>cha�ne_de_test</em> comme un chemin et
v�rifie son existence et si elle a son attribut d'ex�cution
positionn�. Ce positionnement est d�termin� en fonction de
l'OS sous-jacent.</li>
</ul>
</li>
<li>
<p>Si la <em>cha�ne_de_test</em> contient la valeur sp�ciale
<code>expr</code>, la <em>cha�ne de comparaison</em> sera
trait�e en tant qu'expression rationnelle de type <a href="/expr.html">ap_expr</a>.</p>
<p>
Dans l'exemple ci-dessous, on utilise <code>-strmatch</code>
pour comparer le <code>REFERER</code> avec le nom d'h�te du
site afin de bloquer le hotlinking (r�f�rencement direct)
non d�sir�.
</p>
<pre class="prettyprint lang-config"> RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
RewriteRule ^/images - [F]</pre>
</li>
<li>Vous pouvez aussi d�finir certains drapeaux pour
l'<em>expression_de_comparaison</em> en ajoutant ces
<strong><code>[</code><em>drapeaux</em><code>]</code></strong>
comme troisi�me argument de la directive
<code>RewriteCond</code>, o� <em>drapeaux</em> est un
sous-ensemble s�par� par des virgules des drapeaux suivants :
<ul>
<li>'<strong><code>nocase|NC</code></strong>'
(<strong>n</strong>o <strong>c</strong>ase)<br />
Rend le test insensible � la casse - il n'est pas fait de
distinction entre majuscules et minuscules, � la fois dans le
d�veloppement de <em>cha�ne_de_test</em> et dans
<em>expression_de_comparaison</em>. Ce drapeau n'est pris en
compte que lors d'une comparaison entre <em>cha�ne_de_test</em>
et <em>expression_de_comparaison</em>. Il ne l'est pas pour les
v�rification par sous-requ�tes ou sur le syst�me de
fichiers.</li>
<li>
'<strong><code>ornext|OR</code></strong>'
(<strong>ou</strong> condition suivante)<br />
Permet de cha�ner les conditions de r�gles avec un OU au
lieu du AND implicite. Exemple typique :
<pre class="prettyprint lang-config">RewriteCond %{REMOTE_HOST} ^host1 [OR]
RewriteCond %{REMOTE_HOST} ^host2 [OR]
RewriteCond %{REMOTE_HOST} ^host3
RewriteRule ...r�gles concernant tous ces h�tes...</pre>
Sans ce drapeau, les paires
condition/r�gle devraient �tre �crites trois fois.
</li>
<li>'<strong><code>novary|NV</code></strong>'
(<strong>n</strong>o <strong>v</strong>ary)<br />
Si la condition contient un en-t�te HTTP, ce drapeau emp�che
ce dernier d'�tre ajout� � l'en-t�te Vary de la r�ponse. <br />
L'utilisation de ce drapeau peut provoquer une mise en cache
incorrecte de la r�ponse, si la repr�sentation de cette r�ponse
varie avec la valeur de l'en-t�te consid�r�. Ce drapeau ne
devrait donc �tre utilis� que si l'on ma�trise parfaitement le
fonctionnement de l'en-t�te Vary.
</li>
</ul>
</li>
</ol>
<p><strong>Exemple :</strong></p>
<p>Pour r��crire la page d'accueil d'un site en fonction de
l'en-t�te ``<code>User-Agent:</code>'' de la requ�te, vous
pouvez utiliser ce qui suit : </p>
<pre class="prettyprint lang-config">RewriteCond %{HTTP_USER_AGENT} (iPhone|Blackberry|Android)
RewriteRule ^/$ /homepage.mobile.html [L]
RewriteRule ^/$ /homepage.std.html [L]</pre>
<p>Explications : si vous utilisez un navigateur
qui s'identifie comme un
navigateur de plateforme mobile (notez que l'exemple est
incomplet car il existe de nombreuses autres plateformes
mobiles), c'est la version pour mobile de la page d'accueil qui
sera renvoy�e. Dans le cas contraire, ce sera la page d'accueil
standard.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RewriteEngine" id="RewriteEngine">RewriteEngine</a> <a name="rewriteengine" id="rewriteengine">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou d�sactive l'ex�cution du
moteur de r��criture</td></tr>
<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>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteEngine</code> active ou
d�sactive l'ex�cution du moteur de r��criture. Si sa valeur est
<code>off</code>, ce module n'ex�cutera aucun traitement et ne
mettra pas � jour les variables d'environnement
<code>SCRIPT_URx</code>.</p>
<p>Plut�t que de commenter toutes les directives <code class="directive"><a href="#rewriterule">RewriteRule</a></code>, il est pr�f�rable
d'utiliser cette directive si l'on souhaite d�sactiver les
r�gles de r��criture dans un contexte particulier.</p>
<p>Notez que les h�tes virtuels n'h�ritent pas des
configurations de r��criture. Ceci implique que vous devez
ins�rer une directive <code>RewriteEngine on</code> dans chaque
h�te virtuel pour lequel vous souhaitez utiliser des r�gles
de r��criture.</p>
<p>Les directives <code class="directive">RewriteMap</code> du type
<code>prg</code> ne sont pas prises en compte au cours de
l'initialisation du serveur si elle ont �t� d�finies dans un
contexte o� la directive <code class="directive">RewriteEngine</code> n'a
pas �t� d�finie � <code>on</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RewriteMap" id="RewriteMap">RewriteMap</a> <a name="rewritemap" id="rewritemap">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>D�finit une fonction de mise en correspondance pour la
recherche de mots-cl�s</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RewriteMap <em>nom de la correspondance</em> <em>type de
correspondance</em>:<em>source de la correspondance</em>
</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteMap</code> d�finit une
<em>Table de correspondance pour la r��criture</em> que les
fonctions de mise en correspondance
peuvent utiliser dans les cha�nes de substitution des r�gles
pour ins�rer/substituer des champs en recherchant des mots-cl�s.
La source utilis�e pour cette recherche peut �tre de plusieurs
types.</p>
<p><a id="mapfunc" name="mapfunc"><em>nom de la
correspondance</em></a> est le nom de la table de correspondance
et servira � sp�cifier une fonction de mise en correspondance
pour les cha�nes de substitution d'une r�gle de r��criture selon
une des constructions suivantes :</p>
<p class="indent">
<strong><code>${</code> <em>nom de la
correspondance</em> <code>:</code>
<em>mot-cl�</em> <code>}</code><br />
<code>${</code> <em>nom de la
correspondance</em> <code>:</code>
<em>mot-cl�</em> <code>|</code> <em>valeur par d�faut</em>
<code>}</code></strong>
</p>
<p>Lorsqu'une telle construction est rencontr�e, la table de
correspondance <em>Nom de la correspondance</em> est consult�e
et la cl� <em>mot-cl�</em> recherch�e. Si la cl� est trouv�e, la
construction est remplac�e par
la <em>valeur de remplacement</em>. Si la cl� n'est pas trouv�e,
elle est remplac�e par la <em>valeur par d�faut</em>, ou par une
cha�ne vide si aucune <em>valeur par d�faut</em> n'est
sp�cifi�e. La valeur vide se comporte comme si la
cl� �tait absente ; il est donc impossible de distinguer une
valeur vide d'une absence de cl�.</p>
<p>Par exemple, vous pouvez d�finir une directive
<code class="directive">RewriteMap</code> comme suit </p>
<pre class="prettyprint lang-config">RewriteMap map-exemple txt:/chemin/vers/fichier/map.txt</pre>
<p>Vous pourrez ensuite utiliser cette table dans une
directive <code class="directive">RewriteRule</code> comme suit :</p>
<pre class="prettyprint lang-config">RewriteRule ^/ex/(.*) ${map-exemple:$1}</pre>
<p>Les combinaisons suivantes pour <em>type de correspondance</em>
et <em>source de la correspondance</em>
peuvent �tre utilis�es :</p>
<dl>
<dt>txt</dt>
<dd>Un fichier texte contenant des paires cl�-valeur s�par�es
par des espaces, une paire par ligne (<a href="/rewrite/rewritemap.html#txt">D�tails ...</a>).</dd>
<dt>rnd</dt>
<dd>S�lection al�atoire d'une entr�e depuis un fichier texte (<a href="/rewrite/rewritemap.html#rnd">D�tails ...</a>).</dd>
<dt>dbm</dt>
<dd>Recherche une entr�e dans un fichier dbm contenant des
paires nom-valeur. Le condens� hash est �labor� � partir d'un
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>
<dt>int</dt>
<dd>Une des quatre fonctions internes disponibles que fournit
<code>RewriteMap</code>: toupper, tolower, escape ou unescape
(<a href="/rewrite/rewritemap.html#int">D�tails ...</a>).</dd>
<dt>prg</dt>
<dd>Appelle un programme externe ou un script pour effectuer la
r��criture (<a href="/rewrite/rewritemap.html#prg">D�tails
...</a>).</dd>
<dt>dbd or fastdbd</dt>
<dd>Une commande SQL SELECT � ex�cuter pour rechercher la cible
de r��criture (<a href="/rewrite/rewritemap.html#dbd">D�tails
...</a>).</dd>
</dl>
<p>Vous trouverez plus de d�tails et de nombreux exemples dans le <a href="/rewrite/rewritemap.html">RewriteMap HowTo</a>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RewriteOptions" id="RewriteOptions">RewriteOptions</a> <a name="rewriteoptions" id="rewriteoptions">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure certaines options sp�ciales
pour le moteur de r��criture</td></tr>
<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>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteOptions</code> d�finit
certaines options sp�ciales pour la configuration au niveau du
serveur ou du r�pertoire. La cha�ne de caract�res <em>Option</em>
ne peut actuellement prendre qu'une des valeurs suivantes :</p>
<dl>
<dt><code>Inherit</code></dt>
<dd>
<p>Ceci force la configuration locale � h�riter de la
configuration du niveau sup�rieur. Dans le contexte des h�tes
virtuels, cela signifie que les correspondances, conditions et
r�gles du serveur principal sont h�rit�es. Dans le contexte des
r�pertoires, cela signifie que les conditions et r�gles de la
configuration <code>.htaccess</code> ou les sections <code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> du r�pertoire
parent sont h�rit�es. Les r�gles h�rit�es sont virtuellement
copi�es dans la section o� cette directive est utilis�e. Si elles
sont utilis�es avec des r�gles locales, les r�gles h�rit�es sont
plac�es apr�s ces derni�res. La place de cette directive - avant
ou apr�s les r�gles locales - n'a aucune influence sur ce
comportement. Si des r�gles locales ont forc� l'arr�t de la
r��criture, les r�gles h�rit�es ne seront pas trait�es.</p>
<div class="warning">
Les r�gles h�rit�es du niveau parent sont appliqu�es
<strong>after</strong> apr�s les r�gles sp�cifi�es dans le niveau
enfant.
</div>
</dd>
<dt><code>InheritBefore</code></dt>
<dd>
<p>M�me effet que l'option <code>Inherit</code> ci-dessus, mais
les r�gles sp�cifi�es dans le niveau parent s'appliquent
<strong>avant</strong> les r�gles sp�cifi�es dans le niveau
enfant.<br />
Disponible depuis la version 2.3.10 du serveur HTTP Apache.</p>
</dd>
<dt><code>InheritDown</code></dt>
<dd>
<p>Si cette option est activ�e, toutes les configurations enfants
h�riteront de la configuration courante. Il en est de m�me si l'on
sp�cifie <code>RewriteOptions Inherit</code> dans toutes les
configurations enfants. Voir l'option <code>Inherit</code> pour
plus de d�tails � propos de la mani�re dont les relations
parent-enfants sont trait�es.<br />
Cette option est disponible � partir
de la version 2.4.8 du serveur HTTP Apache.</p>
</dd>
<dt><code>InheritDownBefore</code></dt>
<dd>
<p>L'effet de cette option est �quivalent � celui de l'option
<code>InheritDown</code> ci-dessus, mais les r�gles de la
configuration parente s'appliquent <strong>avant</strong> toute
r�gle de la configuration enfant.<br />
Cette option est disponible � partir
de la version 2.4.8 du serveur HTTP Apache.</p>
</dd>
<dt><code>IgnoreInherit</code></dt>
<dd>
<p>Si cette option est activ�e, les configurations courante et
enfants ignoreront toute r�gle h�rit�e d'une configuration parente
via les options <code>InheritDown</code> ou
<code>InheritDownBefore</code>.<br />
Cette option est disponible � partir
de la version 2.4.8 du serveur HTTP Apache.</p>
</dd>
<dt><code>AllowNoSlash</code></dt>
<dd>
<p>Par d�faut, <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> ignore les URLs qui
correspondent � un r�pertoire sur disque, mais ne comportent pas
de slash final, afin que le module <code class="module"><a href="/mod/mod_dir.html">mod_dir</a></code>
redirige le client vers l'URL canonique avec un slash final.</p>
<p>Lorsque la directive <code class="directive"><a href="/mod/mod_dir.html#directoryslash">DirectorySlash</a></code> est d�finie � off, il
est possible de sp�cifier l'option <code>AllowNoSlash</code> pour
s'assurer que les r�gles de r��criture ne soient plus ignor�es.
Si on le souhaite, cette option permet de faire s'appliquer des
r�gles de r��criture qui correspondent � un r�pertoire sans slash
final au sein de fichiers .htaccess.<br />
Elle est disponible �
partir de la version 2.4.0 du serveur HTTP Apache.</p>
</dd>
<dt><code>AllowAnyURI</code></dt>
<dd>
<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
contexte de <code>serveur virtuel</code> ou de serveur principal,
<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
d'�viter certains probl�mes de s�curit� o� des r�gles
particuli�res pourraient permettre des d�veloppements de mod�les
inattendus (voir <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3368">CVE-2011-3368</a>
et <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-4317">CVE-2011-4317</a>).
Pour s'affranchir de la restriction relative � la syntaxe des chemins URL, on peut
utiliser l'option <code>AllowAnyURI</code>, afin de permettre �
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> d'appliquer le jeu de r�gles � toute
cha�ne de requ�te URI, sans v�rifier si cette derni�re respecte la
grammaire des chemins URL d�finie dans la sp�cification HTTP.<br />
Disponible depuis la version 2.4.3 du serveur HTTP Apache.</p>
<div class="warning">
<h3>Avertissement � propos de la s�curit�</h3>
<p>L'utilisation de cette option rendra le serveur vuln�rable �
certains probl�mes de s�curit� si les r�gles de r��critures
concern�es n'ont pas �t� r�dig�es avec soin. Il est par cons�quent
<strong>fortement recommand�</strong> de ne pas utiliser cette
option. En particulier, pr�tez attention aux cha�nes en entr�e contenant le
caract�re '<code>@</code>', qui peuvent modifier l'interpr�tation
de l'URI r��crite, comme indiqu� dans les liens ci-dessus.</p>
</div>
</dd>
<dt><code>MergeBase</code></dt>
<dd>
<p>Avec cette option, la valeur de la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> est recopi�e depuis
une valeur explicitement d�finie dans tout sous-r�pertoire qui ne
d�finit pas sa propre directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code>. Il s'agissait du
comportement par d�faut avec les versions 2.4.0 � 2.4.3, et ce
drapeau qui permet de retrouver ce comportement est disponible
depuis la version 2.4.4 du serveur HTTP Apache.</p>
</dd>
<dt><code>IgnoreContextInfo</code></dt>
<dd>
<p>Dans les versions 2.4.11 et ant�rieures, lors d'une
substitution relative dans un contexte de r�pertoire (htaccess),
et si la directive <code class="directive"><a href="#rewritebase">RewriteBase</a></code> n'a pas �t� d�finie,
ce module utilise des informations en provenance d'une extension
d'URL et du contexte du syst�me de fichiers pour transformer la
sustitution relative en URL. Par exemple, les modules
<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>
utilisent ces informations de contexte �tendu. Cette option
d�sactive le comportement introduit avec la version 2.4.11, et ne
doit �tre utilis�e que si toutes les conditions pr�c�dentes sont
v�rifi�es, et si la substitution renvoie un r�sultat inattendu.</p>
</dd>
</dl>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RewriteRule" id="RewriteRule">RewriteRule</a> <a name="rewriterule" id="rewriterule">Directive</a></h2>
<table class="directive">
<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#Syntax">Syntaxe:</a></th><td><code>RewriteRule
<em>Mod�le</em> <em>Substitution</em> [<em>drapeaux</em>]</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>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_rewrite</td></tr>
</table>
<p>La directive <code class="directive">RewriteRule</code> est le
v�ritable cheval de trait de la r��criture. La directive peut
appara�tre plusieurs fois, chaque instance d�finissant une
r�gle de r��criture particuli�re. L'ordre dans lequel ces r�gles
sont d�finies est important - il s'agit de l'ordre dans lequel
les r�gles seront appliqu�es au cours du processus de
r��criture.</p>
<p><a id="patterns" name="patterns"><em>Mod�le</em></a> est une
<a id="regexp" name="regexp">expression rationnelle</a>
compatible perl. Dans la premi�re r�gle de r��criture,
l'expression est compar�e au (%-decoded)
<a href="directive-dict.html#Syntax">chemin de l'URL</a> (ou au
<a href="directive-dict.html#Syntax">chemin fichier</a>, en
fonction du contexte) de la
requ�te. Les expressions suivantes sont compar�es � la sortie de
la derni�re r�gle de r��criture qui
correspondait.</p>
<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
d'abord compar� � la portion de l'URL situ�e entre le nom d'h�te
�ventuellement accompagn� du port, et la cha�ne de param�tres (par
exemple "/app1/index.html").</p>
<p>Dans les contextes de r�pertoire <code class="directive"><a href="/mod/core.html#directory">Directory</a></code> et htaccess, le
<em>mod�le</em> est tout d'abord compar� au chemin du <em>syst�me
de fichiers</em>, apr�s suppression du pr�fixe ou chemin de base
ayant conduit le serveur vers la r�gle <code class="directive">RewriteRule</code> (par
exemple "app1/index.html" ou
"index.html" selon l'endroit o� les directives sont d�finies).</p>
<p>Si vous souhaitez faire une comparaison sur le nom
d'h�te, le port, ou la cha�ne de requ�te, utilisez une
directive <code class="directive"><a href="#rewritecond">RewriteCond</a></code>
comportant respectivement les variables
<code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou
<code>%{QUERY_STRING}</code>.</p>
</div>
<div class="note"><h3>R��critures dans un contexte de r�pertoire</h3>
<ul>
<li>L'utilisation du moteur de r��criture dans les
fichiers <a href="/howto/htaccess.html">.htaccess</a> et les sections
<code class="directive"><a href="/mod/core.html#directory">&lt;Directory&gt;</a></code> est un peu plus
complexe.</li>
<li>Pour activer le moteur de r��criture dans ces contextes, vous devez
d�finir "<code>RewriteEngine On</code>" <strong>et</strong>
"<code>Options FollowSymLinks</code>". Si l'administrateur a d�sactiv�
la possibilit� de modifier l'option <code>FollowSymLinks</code> au
niveau du r�pertoire d'un utilisateur, vous ne pouvez pas utiliser le
moteur de r��criture. Cette restriction a �t� instaur�e � des fins de
s�curit�.</li>
<li>Lorsqu'on utilise le moteur de r��criture dans un fichier
<code>.htaccess</code>, le chemin de base du r�pertoire courant (qui est
toujours le m�me pour ce m�me r�pertoire) est automatiquement
<em>supprim�</em> au cours de la comparaison avec le mod�le de la r�gle
de r��criture, et automatiquement <em>ajout�</em> lorsqu'une
substitution relative (ne d�butant pas par un slash ou un nom de
protocole) arrive � la fin d'un jeu de r�gles. Voir la directive
<code class="directive"><a href="#rewritebase">RewriteBase</a></code> pour plus de
d�tails � propos de l'ajout du pr�fixe apr�s les substitutions
relatives.</li>
<li>Si vous souhaitez effectuer une comparaison en prenant en compte
l'int�gralit� du
chemin de l'URL dans un contexte de r�pertoire (htaccess), vous devez
utiliser la variable <code>%{REQUEST_URI}</code> dans la directive
<code class="directive">RewriteCond</code>.</li>
<li>Le prefixe supprim� se termine toujours par un slash, ce qui
signifie que la comparaison s'effectue avec une cha�ne qui ne comporte
<em>jamais</em> de slash de d�but. Ainsi, un <em>mod�le</em> contenant
<code>^/</code> ne correspondra jamais dans un contexte de r�pertoire.</li>
<li>Bien que les r�gles de r��criture soient permises du point de vue de
la syntaxe dans les sections <code class="directive"><a href="/mod/core.html#location">&lt;Location&gt;</a></code> et <code class="directive"><a href="/mod/core.html#files">&lt;Files&gt;</a></code> (y compris leurs versions sous forme
d'expression rationnelle), elles n'y sont pas prises en compte, et
n'y sont � priori d'aucune utilit�. Les substitutions
relatives sont une fonctionnalit� qui n'est, elle non-plus pas support�e
dans ce genre de contexte.</li>
</ul>
</div>
<p>Pour quelques conseils � propos des <a class="glossarylink" href="/glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, voir le
document <a href="/rewrite/intro.html#regex">Introduction �
mod_rewrite</a>.</p>
<p>Dans mod_rewrite, on peut aussi utiliser le caract�re NON
('<code>!</code>') comme pr�fixe de mod�le. Ceci vous permet
d'inverser la signification d'un mod�le, soit pour dire
``<em>si l'URL consid�r�e ne correspond <strong>PAS</strong> �
ce mod�le</em>''. Le caract�re NON peut donc �tre utilis� �
titre exceptionnel, lorsqu'il est plus simple d'effectuer une
comparaison avec le mod�le invers�, ou dans la derni�re r�gle
par d�faut.</p>
<div class="note"><h3>Note</h3>
Si vous utilisez le caract�re NON pour inverser la signification d'un
mod�le, vous ne pouvez pas inclure de parties g�n�riques group�es dans
le mod�le. Ceci est d� au fait que, lorsque le mod�le ne correspond
pas (autrement dit, sa n�gation correspond), les groupes sont vides.
Ainsi, si vous utilisez des mod�les invers�s, vous ne pouvez
pas vous r�f�rer aux groupes par <code>$N</code> dans la cha�ne de
substitution !
</div>
<p>Dans une r�gle de r��criture,
<a id="rhs" name="rhs"><em>Substitution</em></a> est la cha�ne
de caract�res qui remplace le chemin de l'URL original qui
correspondait au <em>Mod�le</em>. <em>Substitution</em> peut
�tre :</p>
<dl>
<dt>un chemin du syst�me de fichiers</dt>
<dd>Il indique alors la localisation dans le syst�me de
fichiers de la ressource qui doit �tre envoy�e au
client. Les substitutions ne sont trait�es en tant que chemins du
syst�me de fichiers que si la r�gle est configur�e dans un
contexte de serveur (serveur virtuel), et si le premier
composant du chemin dans la substitution existe dans le syst�me
de fichiers.</dd>
<dt>chemin d'URL</dt>
<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>
essaie de deviner si vous avez sp�cifi� un chemin du syst�me
de fichiers ou un chemin d'URL en v�rifiant si la premi�re
partie du chemin existe � la racine du syst�me de fichiers.
Par exemple, si vous avez sp�cifi� comme cha�ne de
<em>Substitution</em> <code>/www/file.html</code>, cette
derni�re sera trait�e comme un chemin d'URL <em>� moins</em>
qu'un r�pertoire nomm� <code>www</code> n'existe � la racine
de votre syst�me de fichiers (ou dans le cas d'une
r��criture au sein d'un fichier <code>.htaccess</code>,
relativement � la racine des documents), auquel cas la cha�ne de
substitution sera trait�e comme un chemin du syst�me de
fichiers. Si vous d�sirez que d'autres directives de
correspondance d'URL (comme la directive <code class="directive"><a href="/mod/mod_alias.html#alias">Alias</a></code>) soient appliqu�es au
chemin d'URL r�sultant, utilisez le drapeau <code>[PT]</code>
comme d�crit ci-dessous.</dd>
<dt>URL absolue</dt>
<dd>Si une URL absolue est sp�cifi�e,
<code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> v�rifie si le nom d'h�te
correspond � celui de l'h�te local. Si c'est le cas, le
protocole et le nom d'h�te sont supprim�s, et ce qui reste est
trait� comme un chemin d'URL. Dans le cas contraire, une
redirection externe vers l'URL indiqu�e est effectu�e. Pour
forcer une redirection externe vers l'h�te local, voir le
drapeau <code>[R]</code> ci-dessous.</dd>
<dt><code>-</code> (tiret)</dt>
<dd>Un tiret indique qu'aucune substitution ne doit �tre
effectu�e (le chemin consid�r� est transmis sans changement).
Ceci est utile quand un drapeau doit �tre appliqu� sans
modifier le chemin (voir ci-dessous).</dd>
</dl>
<p>En plus du texte, la cha�ne <em>Substition</em> peut
comporter :</p>
<ol>
<li>des r�f�rences arri�res (<code>$N</code>) vers le mod�le
d'une directive RewriteRule</li>
<li>des r�f�rences arri�res (<code>%N</code>) vers le dernier
mod�le d'une directive RewriteCond qui correspondait</li>
<li>des variables du serveur comme dans les cha�nes de test de
condition d'une r�gle (<code>%{VARNAME}</code>)</li>
<li>des appels de
<a href="#mapfunc">fonctions de comparaison</a>
(<code>${nom correspondance:cl�|d�faut}</code>)</li>
</ol>
<p>Les r�f�rences arri�res sont des identificateurs de la forme
<code>$</code><strong>N</strong> (<strong>N</strong>=0..9), qui
seront remplac�s par le contenu du <strong>N</strong>�me groupe
du <em>Mod�le</em> qui correspondait. Les variables du serveur
sont les m�mes que dans la <em>Cha�ne_de_test</em> d'une
directive <code>RewriteCond</code>. Les fonctions de comparaison
sont issues de la directive <code>RewriteMap</code> dans la
section de laquelle elles sont d�crites. Ces trois types de
variables sont �valu�es dans l'ordre ci-dessus.</p>
<p>Chaque r�gle de r��criture s'applique au r�sultat de la r�gle
pr�c�dente, selon l'ordre dans lequel elles ont �t� d�finies dans
le fichier de configuration. Le chemin de l'URL ou du syst�me de fichier (voir
ci-dessus <a href="#what_is_matched">Qu'est-ce qui est
compar� ?</a>) est <strong>int�gralement
remplac�e</strong> par la cha�ne de <em>Substitution</em> et le
processus de r��criture se poursuit jusqu'� ce que toutes les
r�gles aient �t� appliqu�es, ou qu'il soit explicitement stopp�
par un drapeau <a href="/rewrite/flags.html#flag_l"><code><strong>L</strong></code></a>,
ou par un autre drapeau qui implique un arr�t imm�diat, comme
<code><strong>END</strong></code> ou
<code><strong>F</strong></code>.</p>
<div class="note"><h3>Modifier la cha�ne de requ�te</h3>
<p>Par d�faut, la cha�ne de requ�te est transmise sans
modification. Vous pouvez cependant cr�er dans la cha�ne de
substitution des URLs dont une partie constitue une cha�ne de
requ�te. Pour cela, ajoutez simplement un point d'interrogation
dans la cha�ne de substitution pour indiquer que le texte qui
suit doit �tre r�inject� dans la cha�ne de requ�te. Pour
supprimer une cha�ne de requ�te, terminez simplement la cha�ne de
substitution par un point d'interrogation. Pour combiner les
nouvelles cha�nes de requ�te avec les anciennes, utilisez le
drapeau <code>[QSA]</code>.</p>
</div>
<p>En outre, vous pouvez sp�cifier des <a name="rewriteflags" id="rewriteflags">actions</a> sp�ciales � effectuer en ajoutant
des
<strong><code>[</code><em>drapeaux</em><code>]</code></strong>
comme troisi�me argument de la directive
<code>RewriteRule</code>. S�par�s par des virgules au sein d'une
liste encadr�e par des crochets, les <em>drapeaux</em> peuvent
�tre choisis dans la table suivante. Vous trouverez plus de
d�tails, et des exemples pour chaque drapeau dans le <a href="/rewrite/flags.html">document � propos des drapeaux de
r��criture.</a></p>
<table class="bordered"><tr class="header"><th>Drapeaux et syntaxe</th>
<th>Fonction</th>
</tr>
<tr>
<td>B</td>
<td>Echappe les caract�res non-alphanum�riques
dans les r�f�rences arri�res <em>avant</em>
d'appliquer la transformation. <em><a href="/rewrite/flags.html#flag_b">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>backrefnoplus|BNP</td>
<td>Avec ce drapeau, si les r�f�rences arri�res sont �chapp�es,
les espaces seront �chapp�s en %20 au lieu de +. Ceci s'av�re
utile lorsqu'une r�f�rence arri�re est utilis�e dans la partie
chemin, et non dans la cha�ne de param�tres de la requ�te ;
pour plus de d�tails, voir <em><a href="/rewrite/flags.html#flag_bnp">ici.</a></em></td>
</tr>
<tr>
<td>chain|C</td>
<td>La r�gle est cha�n�e avec la r�gle suivante. Si la r�gle
�choue, la ou les r�gles avec lesquelles elle est est cha�n�e
seront saut�es. <em><a href="/rewrite/flags.html#flag_c">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>cookie|CO=<em>NAME</em>:<em>VAL</em></td>
<td>D�finit un cookie au niveau du navigateur client. La syntaxe
compl�te est :
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>
<em><a href="/rewrite/flags.html#flag_co">d�tails ...</a></em>
</td>
</tr>
<tr>
<td>discardpath|DPI</td>
<td>Supprime la partie PATH_INFO de l'URI r��crit. <em><a href="/rewrite/flags.html#flag_dpi">d�tails
...</a></em></td>
</tr>
<tr class="odd">
<td>END</td>
<td>Stoppe le processus de r��criture imm�diatement et
n'applique plus aucune r�gle. Emp�che aussi l'application
ult�rieure de r�gles de r��criture dans les contextes de
r�pertoire et de fichier .htaccess (disponible � partir de la
version 2.3.9 du serveur HTTP Apache). <em><a href="/rewrite/flags.html#flag_end">d�tails ...</a></em></td>
</tr>
<tr>
<td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
<td>D�finit la variable d'environnement <em>VAR</em> (� la valeur
<em>VAL</em> si elle est fournie). La variante !<em>VAR</em>
annule la d�finition de la variable <em>VAR</em>.<em><a href="/rewrite/flags.html#flag_e">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>forbidden|F</td>
<td>Renvoie une r�ponse 403 FORBIDDEN au navigateur client.
<em><a href="/rewrite/flags.html#flag_f">d�tails ...</a></em></td>
</tr>
<tr>
<td>gone|G</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>
</tr>
<tr class="odd">
<td>Handler|H=<em>Gestionnaire de contenu</em></td>
<td>L'URI r�sultant est envoy� au <em>Gestionnaire de
contenu</em> pour traitement. <em><a href="/rewrite/flags.html#flag_h">d�tails ...</a></em></td>
</tr>
<tr>
<td>last|L</td>
<td>Arr�te le processus de r��criture imm�diatement et n'applique
plus aucune r�gle. Pr�tez une attention particuli�re aux mises
en garde concernant les contextes de niveau r�pertoire et
.htaccess (voir aussi le drapeau END). <em><a href="/rewrite/flags.html#flag_l">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>next|N</td>
<td>R�ex�cute le processus de r��criture � partir de la premi�re
r�gle, en utilisant le r�sultat du jeu de r�gles, sous r�serve
qu'il y ait un point de d�part. <em><a href="/rewrite/flags.html#flag_n">d�tails
...</a></em></td>
</tr>
<tr>
<td>nocase|NC</td>
<td>Rend la comparaison entre mod�les insensible � la casse.
<em><a href="/rewrite/flags.html#flag_nc">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>noescape|NE</td>
<td>Emp�che mod_rewrite d'effectuer un �chappement hexad�cimal
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>
</tr>
<tr>
<td>nosubreq|NS</td>
<td>La r�gle est saut�e si la requ�te courante est une
sous-requ�te interne. <em><a href="/rewrite/flags.html#flag_ns">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>proxy|P</td>
<td>Force l'envoi en interne de l'URL de substitution en tant
que requ�te mandataire. <em><a href="/rewrite/flags.html#flag_p">d�tails
...</a></em></td>
</tr>
<tr>
<td>passthrough|PT</td>
<td>L'URI r�sultant est repass� au moteur de mise en
correspondance des URLs pour y �tre trait� par d'autres
traducteurs URI-vers-nom de fichier, comme <code>Alias</code> ou
<code>Redirect</code>. <em><a href="/rewrite/flags.html#flag_pt">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>qsappend|QSA</td>
<td>Ajoute toute cha�ne de param�tres pr�sente dans l'URL de la
requ�te originale � toute cha�ne de param�tres cr��e dans la
cible de r��criture. <em><a href="/rewrite/flags.html#flag_qsa">d�tails ...</a></em></td>
</tr>
<tr>
<td>qsdiscard|QSD</td>
<td>Supprime toute cha�ne de param�tres de l'URI entrant. <em><a href="/rewrite/flags.html#flag_qsd">d�tails
...</a></em></td>
</tr>
<tr class="odd">
<td>redirect|R[=<em>code</em>]</td>
<td>Force une redirection externe, avec un code de statut HTTP
optionnel. <em><a href="/rewrite/flags.html#flag_r">d�tails ...</a></em>
</td>
</tr>
<tr>
<td>skip|S=<em>nombre</em></td>
<td>Si la r�gle courante s'applique, le moteur de r��criture
doit sauter les <em>nombre</em> r�gles suivantes. <em><a href="/rewrite/flags.html#flag_s">d�tails ...</a></em></td>
</tr>
<tr class="odd">
<td>type|T=<em>MIME-type</em></td>
<td>Force l'attribution du <a class="glossarylink" href="/glossary.html#type-mime" title="voir glossaire">Type-MIME</a>
sp�cifi� au fichier cible. <em><a href="/rewrite/flags.html#flag_t">d�tails ...</a></em></td>
</tr>
</table>
<div class="note"><h3>D�veloppement du r�pertoire home</h3>
<p> Quand la cha�ne de substitution commence par quelque chose comme
"/~user" (de mani�re explicite ou par r�f�rences arri�res), mod_rewrite
d�veloppe le r�pertoire home sans tenir compte de la pr�sence ou de la
configuration du module <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code>.</p>
<p> Ce d�veloppement n'est pas effectu� si le drapeau <em>PT</em> est
utilis� dans la directive <code class="directive"><a href="#rewriterule">RewriteRule</a></code></p>
</div>
<p>Voici toutes les combinaisons de substitution et leurs
significations :</p>
<p><strong>Dans la configuration au niveau du serveur principal
(<code>httpd.conf</code>)<br />
pour la requ�te ``<code>GET
/chemin/infochemin</code>'':</strong><br />
</p>
<table class="bordered"><tr class="header">
<th>R�gle</th>
<th>R�sultat de la substitution</th>
</tr>
<tr>
<td>^/un_chemin(.*) autre_chemin$1</td>
<td>invalide, non support�</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) autre_chemin$1 [R]</td>
<td>invalide, non support�</td>
</tr>
<tr>
<td>^/un_chemin(.*) autre_chemin$1 [P]</td>
<td>invalide, non support�</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) /autre_chemin$1</td>
<td>/autre_chemin/info_chemin</td>
</tr>
<tr>
<td>^/un_chemin(.*) /autre_chemin$1 [R]</td>
<td>http://cet_hote/autre_chemin/info_chemin via une redirection externe</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) /autre_chemin$1 [P]</td>
<td>sans objet, non support�</td>
</tr>
<tr>
<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1</td>
<td>/autre_chemin/info_chemin</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [R]</td>
<td>http://cet_hote/autre_chemin/info_chemin via une redirection externe</td>
</tr>
<tr>
<td>^/un_chemin(.*) http://cet_hote/autre_chemin$1 [P]</td>
<td>sans objet, non support�</td>
</tr>
<tr class="odd">
<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1</td>
<td>http://autre_hote/autre_chemin/info_chemin via une redirection externe</td>
</tr>
<tr>
<td>^/un_chemin(.*) http://autre_hote/autre_chemin$1 [R]</td>
<td>http://autre_hote/autre_chemin/info_chemin (le drapeau [R] est
redondant)</td>
</tr>
<tr class="odd">
<td>^/somepath(.*) http://otherhost/otherpath$1 [P]</td>
<td>http://otherhost/otherpath/pathinfo via internal proxy</td>
</tr>
</table>
<p><strong>Dans une configuration de niveau r�pertoire pour
<code>/chemin</code><br />
(<code>/chemin/physique/vers/chemin/.htacccess</code>, avec
<code>RewriteBase /chemin</code>)<br />
pour la requ�te ``<code>GET
/chemin/chemin-local/infochemin</code>'':</strong><br />
</p>
<table class="bordered"><tr class="header">
<th>R�gle</th>
<th>R�sultat de la substitution</th>
</tr>
<tr>
<td>^chemin-local(.*) autre-chemin$1</td>
<td>/chemin/autre-chemin/infochemin</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) autre-chemin$1 [R]</td>
<td>http://cet-hte/chemin/autre-chemin/infochemin via redirection
externe</td>
</tr>
<tr>
<td>^chemin-local(.*) autre-chemin$1 [P]</td>
<td>n'a pas lieu d'�tre, non support�</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) /autre-chemin$1</td>
<td>/autre-chemin/infochemin</td>
</tr>
<tr>
<td>^chemin-local(.*) /autre-chemin$1 [R]</td>
<td>http://cet-hte/autre-chemin/infochemin via redirection externe</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) /autre-chemin$1 [P]</td>
<td>n'a pas lieu d'�tre, non support�</td>
</tr>
<tr>
<td>^chemin-local(.*) http://cet-hte/autre-chemin$1</td>
<td>/autre-chemin/infochemin</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) http://cet-hte/autre-chemin$1 [R]</td>
<td>http://cet-hte/autre-chemin/infochemin via redirection externe</td>
</tr>
<tr>
<td>^chemin-local(.*) http://cet-hte/autre-chemin$1 [P]</td>
<td>n'a pas lieu d'�tre, non support�</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) http://autre h�te/autre-chemin$1</td>
<td>http://autre h�te/autre-chemin/infochemin via redirection externe</td>
</tr>
<tr>
<td>^chemin-local(.*) http://autre h�te/autre-chemin$1 [R]</td>
<td>http://autre h�te/autre-chemin/infochemin via redirection externe
(le drapeau [R] est redondant)</td>
</tr>
<tr class="odd">
<td>^chemin-local(.*) http://autre h�te/autre-chemin$1 [P]</td>
<td>http://autre h�te/autre-chemin/infochemin via un mandataire interne</td>
</tr>
</table>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="/en/mod/mod_rewrite.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/mod/mod_rewrite.html" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_rewrite.html';
(function(w, d) {
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);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>