]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_setenvif.html.fr
update transformation
[apache] / docs / manual / mod / mod_setenvif.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_setenvif - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
16 <p class="apache">Serveur Apache HTTP Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
19 <div id="path">
20 <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.3</a> &gt; <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_setenvif</h1>
23 <div class="toplang">
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../fr/mod/mod_setenvif.html" title="Français">&nbsp;fr&nbsp;</a> |
26 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29 </div>
30 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de définir des variables d'environnement en fonction
31 de caractéristiques de la requête</td></tr>
32 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
33 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>setenvif_module</td></tr>
34 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_setenvif.c</td></tr></table>
35 <h3>Sommaire</h3>
36
37
38     <p>Le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code> vous permet de définir
39     des variables d'environnement en fonction du fait que telle ou telle
40     caractéristique de la requête correspond ou non aux expressions
41     rationnelles que vous spécifiez. Ces variables d'environnement
42     peuvent être utilisées par d'autres parties du serveur pour prendre
43     des décisions quant aux actions à entreprendre.</p>
44
45     <p>Les directives sont interprétées selon l'ordre dans lequel elles
46     apparaîssent dans les fichiers de configuration. Ainsi, des
47     séquences plus complexes peuvent être utilisées, comme dans cet
48     exemple qui définit netscape si le navigateur est Mozilla et non
49     MSIE.</p>
50
51 <div class="example"><p><code>
52   BrowserMatch ^Mozilla netscape<br />
53   BrowserMatch MSIE !netscape<br />
54 </code></p></div>
55 </div>
56 <div id="quickview"><h3 class="directives">Directives</h3>
57 <ul id="toc">
58 <li><img alt="" src="../images/down.gif" /> <a href="#browsermatch">BrowserMatch</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#browsermatchnocase">BrowserMatchNoCase</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#setenvif">SetEnvIf</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#setenvifexpr">SetEnvIfExpr</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#setenvifnocase">SetEnvIfNoCase</a></li>
63 </ul>
64 <h3>Voir aussi</h3>
65 <ul class="seealso">
66 <li><a href="../env.html">Les variables d'environnement et le
67 serveur HTTP Apache</a></li>
68 </ul></div>
69
70 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
71 <div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">Directive</a></h2>
72 <table class="directive">
73 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du
74 contenu de l'en-tête HTTP User-Agent</td></tr>
75 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>]
76 [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
77 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
78 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
79 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
80 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
81 </table>
82   <p>La directive <code class="directive">BrowserMatch</code> est un cas
83   particulier de la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, qui définit des variables
84   d'environnement en fonction du contenu de l'en-tête de requête HTTP
85   <code>User-Agent</code>. Les deux lignes suivantes produisent le même
86   effet :</p>
87 <div class="example"><p><code>
88    BrowserMatchNoCase Robot est_un_robot<br />
89    SetEnvIfNoCase User-Agent Robot est_un_robot<br />
90 </code></p></div>
91
92     <p>Quelques exemples supplémentaires :</p>
93 <div class="example"><p><code>
94     BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
95     BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
96     BrowserMatch MSIE !javascript<br />
97 </code></p></div>
98
99 </div>
100 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
101 <div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">Directive</a></h2>
102 <table class="directive">
103 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du
104 contenu de l'en-tête HTTP User-Agent sans tenir compte de la
105 casse</td></tr>
106 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatchNoCase  <em>regex [!]env-variable</em>[=<em>valeur</em>]
107     [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
108 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
109 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
110 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
111 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
112 </table>
113
114     <p>La directive <code class="directive">BrowserMatchNoCase</code> est
115     identique sur le plan sémantique à la directive <code class="directive"><a href="#browsermatch">BrowserMatch</a></code>. Elle permet
116     cependant une comparaison insensible à la casse. Par exemple :</p>
117 <div class="example"><p><code>
118     BrowserMatchNoCase mac platform=macintosh<br />
119     BrowserMatchNoCase win platform=windows<br />
120 </code></p></div>
121
122     <p>Les directives <code class="directive">BrowserMatch</code> et
123     <code class="directive">BrowserMatchNoCase</code> sont des cas particuliers
124     des directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code>
125     et <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>.
126     Ainsi, les deux lignes suivantes produisent le même effet :</p>
127 <div class="example"><p><code>
128    BrowserMatchNoCase Robot est_un_robot<br />
129    SetEnvIfNoCase User-Agent Robot est_un_robot<br />
130 </code></p></div>
131
132 </div>
133 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
134 <div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">Directive</a></h2>
135 <table class="directive">
136 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des
137 attributs de la requête</td></tr>
138 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIf <em>attribut
139     regex [!]env-variable</em>[=<em>valeur</em>]
140     [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
141 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
142 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
143 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
144 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
145 </table>
146     <p>La directive <code class="directive">SetEnvIf</code> permet de définir
147     des variables d'environnement en fonction des attributs de la
148     requête. L'<em>attribut</em> spécifié comme premier argument peut
149     se présenter sous l'une des quatre formes suivantes :</p>
150
151 <ol>
152 <li>Un champ d'en-tête de requête HTTP (voir la <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> pour
153     plus d'information à leur propos) ; par exemple : <code>Host</code>,
154     <code>User-Agent</code>, <code>Referer</code>, ou
155     <code>Accept-Language</code>. Il est possible d'utiliser une
156     expression rationnelle pour spécifier un jeu d'en-têtes de
157     requête.</li>
158
159 <li>Une des caractéristiques de la requête suivantes :
160     <ul>
161       <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible)
162       du client qui effectue la requête</li>
163
164       <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue
165       la requête</li>
166
167       <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu
168       la requête (uniquement à partir des versions supérieures à
169       2.0.43)</li>
170
171       <li><code>Request_Method</code> - Le nom de la méthode HTTP
172       utilisée (<code>GET</code>, <code>POST</code>, <em>et
173       cetera...</em>)</li>
174
175       <li><code>Request_Protocol</code> - le nom et la version du
176       protocole utilisé pour la requête (par exemple "HTTP/0.9",
177       "HTTP/1.1", <em>etc...</em>)</li>
178
179       <li><code>Request_URI</code> - la ressource demandée dans la ligne
180       de requête HTTP -- en général la partie de l'URL suivant le
181       protocole et le nom du serveur, sans la chaîne d'arguments. Voir
182       la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> du module
183       <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour plus d'informations sur la
184       manière de mettre en correspondance votre chaîne d'arguments.</li>
185     </ul>
186 </li>
187
188 <li>Le nom d'une variable d'environnement parmi la liste de celles qui
189 sont associées à la requête. Ceci permet à la directive
190 <code class="directive">SetEnvIf</code> d'effectuer des tests en fonction du
191 résultat de comparaisons précédentes. Seules les variables
192 d'environnement définies par des directives
193 <code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour
194 effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se
195 trouvent à un niveau plus global de la configuration (par exemple au
196 niveau du serveur principal), ou plus haut chronologiquement dans le
197 contexte de la directive. Les variables d'environnement ne seront prises
198 en compte que si aucune correspondance n'a été trouvée parmi les
199 caractéristiques de la requête, et si <em>attribut</em> n'a pas été
200 spécifié sous la forme d'une expression rationnelle.</li>
201
202 <li>La référence à une extension d'un certificat client SSL, localisé
203 par son identifiant objet <em>oid</em>. Dans le cas d'une requête non
204 SSL, ou en l'absence d'<em>oid</em> configuré, aucune variable ne sera
205 définie. Si l'<em>oid</em> est trouvé plusieurs fois, les chaînes
206 individuelles seront concaténées, en les séparant par des virgules
207 <code>','</code>. L'<em>oid</em> doit faire référence à une extension
208 sous forme de chaîne.
209 </li>
210 </ol>
211
212 <p>Le second argument (<em>regex</em>) est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Si  <em>regex</em>
213 correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p>
214
215 <p>Le reste des arguments constitue les noms des variables à définir,
216 ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils
217 peuvent se présenter sous les formes suivantes :</p>
218
219     <ol>
220       <li><code><em>nom-variable</em></code>, or</li>
221
222       <li><code>!<em>nom-variable</em></code>, or</li>
223
224       <li><code><em>nom-variable</em>=<em>valeur</em></code></li>
225     </ol>
226
227     <p>Dans la première forme, la valeur sera définie à "1". Dans la
228     seconde forme, la variable sera supprimée si elle a été définie au
229     préalable, et dans la troisième forme, la variable sera définie à la
230     valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis
231     la version 2.0.51, Apache httpd reconnaît les occurrences de variables
232     <code>$1</code>..<code>$9</code> à l'intérieur de
233     <code><em>valeur</em></code>, et les remplace par les
234     sous-expressions entre parenthèses correspondantes de
235     <var>regex</var>.</p>
236
237 <div class="example"><h3>Example:</h3><p><code>
238
239    SetEnvIf Request_URI "\.gif$" objet_est_une_image=gif<br />
240    SetEnvIf Request_URI "\.jpg$" objet_est_une_image=jpg<br />
241    SetEnvIf Request_URI "\.xbm$" objet_est_une_image=xbm<br />
242         :<br />
243    SetEnvIf Referer www\.mon-domaine\.example\.com référant_intra_site<br />
244         :<br />
245    SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
246         :<br />
247    SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" commentaire-netscape=$1<br />
248         :<br />
249    SetEnvIf ^TS*  ^[a-z].*  HAVE_TS<br />
250 </code></p></div>
251
252     <p>Les trois premières lignes définissent la variable
253     d'environnement <code>objet_est_une_image</code> si l'objet de la
254     requête est un fichier image, et la quatrième définit la variable
255     <code>référant_intra_site</code> si la page référante se trouve
256     quelque part dans le site web
257     <code>www.mon-domaine.example.com</code>.</p>
258
259     <p>La sixième ligne définit la variable d'environnement
260     <code>commentaire-netscape</code> avec la chaîne trouvée dans le
261     champ du certificat client SSL correspondant.</p>
262
263     <p>La dernière ligne définit la variable d'environnement
264     <code>HAVE_TS</code> si la requête contient un en-tête dont le nom
265     commence par "TS" et dont la valeur commence par tout caractère du
266     jeu [a-z].</p>
267
268 <h3>Voir aussi</h3>
269 <ul>
270 <li><a href="../env.html">Les variables d'environnement et le
271 serveur HTTP Apache</a> pour des exemples supplémentaires.
272 </li>
273 </ul>
274 </div>
275 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
276 <div class="directive-section"><h2><a name="SetEnvIfExpr" id="SetEnvIfExpr">SetEnvIfExpr</a> <a name="setenvifexpr" id="setenvifexpr">Directive</a></h2>
277 <table class="directive">
278 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction d'une expression</td></tr>
279 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfExpr <em>expr
280     [!]env-variable</em>[=<em>valeur</em>]
281     [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
282 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
283 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
284 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
285 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
286 </table>
287     <p>La directive <code class="directive">SetEnvIfExpr</code> permet de
288     définir des variables d'environnement en fonction d'une expression
289     <code class="directive">&lt;If&gt;</code> <code>ap_expr</code>. Cette
290     expression est évaluée à l'exécution, et utilise les variables
291     d'environnement <em>env-variable</em> de la même manière que la
292     directive <code class="directive">SetEnvIf</code>.</p>
293
294 <div class="example"><p><code>
295     SetEnvIfExpr "tolower(req('X-Sendfile')) == 'd:\images\very_big.iso')" iso_delivered
296 </code></p></div>
297
298     <p>Dans cet exemple, la variable d'environnement
299     <code>iso_delivered</code> est définie chaque fois que notre
300     application tente de l'envoyer via <code>X-Sendfile</code>.</p>
301
302     <p>Pour un exemple plus utile, voir le cas de
303     <code>Referer</code> pour un site comportant plusieurs domaines :</p>
304
305 <div class="example"><p><code>
306     SetEnvIfExpr "${HTTP_REFERER} in { 'www.example.com','example.com','w2.example3.org' }" intra_site_referral
307 </code></p></div>
308
309 <h3>Voir aussi</h3>
310 <ul>
311 <li><a href="../expr.html">Les expressions dans le serveur HTTP
312 Apache</a>, pour une référence complète et davantage d'exemples.</li>
313 <li>La directive <code class="directive">&lt;If&gt;</code> peut être
314 utilisée pour obtenir des résultats similaires.</li>
315 <li><code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></li>
316 </ul>
317 </div>
318 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
319 <div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">Directive</a></h2>
320 <table class="directive">
321 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des
322 attributs de la requête sans tenir compte de la casse</td></tr>
323 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfNoCase <em>attribut regex
324         [!]env-variable</em>[=<em>valeur</em>]
325     [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
326 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
327 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
328 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
329 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
330 </table>
331
332     <p>La directive <code class="directive">SetEnvIfNoCase</code> est identique
333     d'un point de vue sémantique à la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, et ne s'en distingue que
334     par le fait que la comparaison des expressions rationnelles est
335     effectuée sans tenir compte de la casse. Par exemple :</p>
336 <div class="example"><p><code>
337    SetEnvIfNoCase Host Apache\.Org site=apache
338 </code></p></div>
339
340     <p>Cette ligne va définir la variable d'environnement
341     <code>site</code> avec la valeur "<code>apache</code>" si le champ
342     d'en-tête de requête HTTP <code>Host:</code> est présent et contient
343     <code>Apache.Org</code>, <code>apache.org</code>, ou une autre
344     combinaison des mêmes caractères, sans tenir compte de la casse.</p>
345
346 </div>
347 </div>
348 <div class="bottomlang">
349 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
350 <a href="../fr/mod/mod_setenvif.html" title="Français">&nbsp;fr&nbsp;</a> |
351 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
352 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
353 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
354 </div><div id="footer">
355 <p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
356 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
357 </body></html>