]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_setenvif.html.fr
Update transformations.
[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="#setenvifnocase">SetEnvIfNoCase</a></li>
62 </ul>
63 <h3>Voir aussi</h3>
64 <ul class="seealso">
65 <li><a href="../env.html">Les variables d'environnement et le
66 serveur HTTP Apache</a></li>
67 </ul></div>
68
69 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
70 <div class="directive-section"><h2><a name="BrowserMatch" id="BrowserMatch">BrowserMatch</a> <a name="browsermatch" id="browsermatch">Directive</a></h2>
71 <table class="directive">
72 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du
73 contenu de l'en-tête HTTP User-Agent</td></tr>
74 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatch <em>regex [!]env-variable</em>[=<em>valeur</em>]
75 [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
76 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
77 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
78 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
79 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
80 </table>
81   <p>La directive <code class="directive">BrowserMatch</code> est un cas
82   particulier de la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, qui définit des variables
83   d'environnement en fonction du contenu de l'en-tête de requête HTTP
84   <code>User-Agent</code>. Les deux lignes suivantes produisent le même
85   effet :</p>
86 <div class="example"><p><code>
87    BrowserMatchNoCase Robot est_un_robot<br />
88    SetEnvIfNoCase User-Agent Robot est_un_robot<br />
89 </code></p></div>
90
91     <p>Quelques exemples supplémentaires :</p>
92 <div class="example"><p><code>
93     BrowserMatch ^Mozilla forms jpeg=yes browser=netscape<br />
94     BrowserMatch "^Mozilla/[2-3]" tables agif frames javascript<br />
95     BrowserMatch MSIE !javascript<br />
96 </code></p></div>
97
98 </div>
99 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
100 <div class="directive-section"><h2><a name="BrowserMatchNoCase" id="BrowserMatchNoCase">BrowserMatchNoCase</a> <a name="browsermatchnocase" id="browsermatchnocase">Directive</a></h2>
101 <table class="directive">
102 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction du
103 contenu de l'en-tête HTTP User-Agent sans tenir compte de la
104 casse</td></tr>
105 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BrowserMatchNoCase  <em>regex [!]env-variable</em>[=<em>valeur</em>]
106     [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
107 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
108 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
109 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
110 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
111 </table>
112
113     <p>La directive <code class="directive">BrowserMatchNoCase</code> est
114     identique sur le plan sémantique à la directive <code class="directive"><a href="#browsermatch">BrowserMatch</a></code>. Elle permet
115     cependant une comparaison insensible à la casse. Par exemple :</p>
116 <div class="example"><p><code>
117     BrowserMatchNoCase mac platform=macintosh<br />
118     BrowserMatchNoCase win platform=windows<br />
119 </code></p></div>
120
121     <p>Les directives <code class="directive">BrowserMatch</code> et
122     <code class="directive">BrowserMatchNoCase</code> sont des cas particuliers
123     des directives <code class="directive"><a href="#setenvif">SetEnvIf</a></code>
124     et <code class="directive"><a href="#setenvifnocase">SetEnvIfNoCase</a></code>.
125     Ainsi, les deux lignes suivantes produisent le même effet :</p>
126 <div class="example"><p><code>
127    BrowserMatchNoCase Robot est_un_robot<br />
128    SetEnvIfNoCase User-Agent Robot est_un_robot<br />
129 </code></p></div>
130
131 </div>
132 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
133 <div class="directive-section"><h2><a name="SetEnvIf" id="SetEnvIf">SetEnvIf</a> <a name="setenvif" id="setenvif">Directive</a></h2>
134 <table class="directive">
135 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des
136 attributs de la requête</td></tr>
137 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIf <em>attribut
138     regex [!]env-variable</em>[=<em>valeur</em>]
139     [[!]<em>env-variable</em>[=<em>valeur</em>]] ...</code></td></tr>
140 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
141 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
142 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
143 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_setenvif</td></tr>
144 </table>
145     <p>La directive <code class="directive">SetEnvIf</code> permet de définir
146     des variables d'environnement en fonction des attributs de la
147     requête. L'<em>attribut</em> spécifié comme premier argument peut
148     se présenter sous l'une des quatre formes suivantes :</p>
149
150 <ol>
151 <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
152     plus d'information à leur propos) ; par exemple : <code>Host</code>,
153     <code>User-Agent</code>, <code>Referer</code>, ou
154     <code>Accept-Language</code>. Il est possible d'utiliser une
155     expression rationnelle pour spécifier un jeu d'en-têtes de
156     requête.</li>
157
158 <li>Une des caractéristiques de la requête suivantes :
159     <ul>
160       <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible)
161       du client qui effectue la requête</li>
162
163       <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue
164       la requête</li>
165
166       <li><code>Server_Addr</code> - l'adresse IP du serveur qui a reçu
167       la requête (uniquement à partir des versions supérieures à
168       2.0.43)</li>
169
170       <li><code>Request_Method</code> - Le nom de la méthode HTTP
171       utilisée (<code>GET</code>, <code>POST</code>, <em>et
172       cetera...</em>)</li>
173
174       <li><code>Request_Protocol</code> - le nom et la version du
175       protocole utilisé pour la requête (par exemple "HTTP/0.9",
176       "HTTP/1.1", <em>etc...</em>)</li>
177
178       <li><code>Request_URI</code> - la ressource demandée dans la ligne
179       de requête HTTP -- en général la partie de l'URL suivant le
180       protocole et le nom du serveur, sans la chaîne d'arguments. Voir
181       la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> du module
182       <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour plus d'informations sur la
183       manière de mettre en correspondance votre chaîne d'arguments.</li>
184     </ul>
185 </li>
186
187 <li>Le nom d'une variable d'environnement parmi la liste de celles qui
188 sont associées à la requête. Ceci permet à la directive
189 <code class="directive">SetEnvIf</code> d'effectuer des tests en fonction du
190 résultat de comparaisons précédentes. Seules les variables
191 d'environnement définies par des directives
192 <code>SetEnvIf[NoCase]</code> précédentes sont disponibles pour
193 effectuer des tests de cette manière. 'Précédentes' signifie qu'elles se
194 trouvent à un niveau plus global de la configuration (par exemple au
195 niveau du serveur principal), ou plus haut chronologiquement dans le
196 contexte de la directive. Les variables d'environnement ne seront prises
197 en compte que si aucune correspondance n'a été trouvée parmi les
198 caractéristiques de la requête, et si <em>attribut</em> n'a pas été
199 spécifié sous la forme d'une expression rationnelle.</li>
200
201 <li>La référence à une extension d'un certificat client SSL, localisé
202 par son identifiant objet <em>oid</em>. Dans le cas d'une requête non
203 SSL, ou en l'absence d'<em>oid</em> configuré, aucune variable ne sera
204 définie. Si l'<em>oid</em> est trouvé plusieurs fois, les chaînes
205 individuelles seront concaténées, en les séparant par des virgules
206 <code>','</code>. L'<em>oid</em> doit faire référence à une extension
207 sous forme de chaîne.
208 </li>
209 </ol>
210
211 <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>
212 correspond à l'<em>attribut</em>, les arguments suivants sont évalués.</p>
213
214 <p>Le reste des arguments constitue les noms des variables à définir,
215 ainsi que les valeurs optionnelles qui doivent leur être affectées. Ils
216 peuvent se présenter sous les formes suivantes :</p>
217
218     <ol>
219       <li><code><em>nom-variable</em></code>, or</li>
220
221       <li><code>!<em>nom-variable</em></code>, or</li>
222
223       <li><code><em>nom-variable</em>=<em>valeur</em></code></li>
224     </ol>
225
226     <p>Dans la première forme, la valeur sera définie à "1". Dans la
227     seconde forme, la variable sera supprimée si elle a été définie au
228     préalable, et dans la troisième forme, la variable sera définie à la
229     valeur littérale spécifiée par <code><em>valeur</em></code>. Depuis
230     la version 2.0.51, Apache httpd reconnaît les occurrences de variables
231     <code>$1</code>..<code>$9</code> à l'intérieur de
232     <code><em>valeur</em></code>, et les remplace par les
233     sous-expressions entre parenthèses correspondantes de
234     <var>regex</var>.</p>
235
236 <div class="example"><h3>Example:</h3><p><code>
237
238    SetEnvIf Request_URI "\.gif$" objet_est_une_image=gif<br />
239    SetEnvIf Request_URI "\.jpg$" objet_est_une_image=jpg<br />
240    SetEnvIf Request_URI "\.xbm$" objet_est_une_image=xbm<br />
241         :<br />
242    SetEnvIf Referer www\.mon-domaine\.example\.com référant_intra_site<br />
243         :<br />
244    SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
245         :<br />
246    SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" commentaire-netscape=$1<br />
247         :<br />
248    SetEnvIf ^TS*  ^[a-z].*  HAVE_TS<br />
249 </code></p></div>
250
251     <p>Les trois premières lignes définissent la variable
252     d'environnement <code>objet_est_une_image</code> si l'objet de la
253     requête est un fichier image, et la quatrième définit la variable
254     <code>référant_intra_site</code> si la page référante se trouve
255     quelque part dans le site web
256     <code>www.mon-domaine.example.com</code>.</p>
257
258     <p>La sixième ligne définit la variable d'environnement
259     <code>commentaire-netscape</code> avec la chaîne trouvée dans le
260     champ du certificat client SSL correspondant.</p>
261
262     <p>La dernière ligne définit la variable d'environnement
263     <code>HAVE_TS</code> si la requête contient un en-tête dont le nom
264     commence par "TS" et dont la valeur commence par tout caractère du
265     jeu [a-z].</p>
266
267 <h3>Voir aussi</h3>
268 <ul>
269 <li><a href="../env.html">Les variables d'environnement et le
270 serveur HTTP Apache</a> pour des exemples supplémentaires.
271 </li>
272 </ul>
273 </div>
274 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
275 <div class="directive-section"><h2><a name="SetEnvIfNoCase" id="SetEnvIfNoCase">SetEnvIfNoCase</a> <a name="setenvifnocase" id="setenvifnocase">Directive</a></h2>
276 <table class="directive">
277 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit des variables d'environnement en fonction des
278 attributs de la requête sans tenir compte de la casse</td></tr>
279 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetEnvIfNoCase <em>attribut regex
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
288     <p>La directive <code class="directive">SetEnvIfNoCase</code> est identique
289     d'un point de vue sémantique à la directive <code class="directive"><a href="#setenvif">SetEnvIf</a></code>, et ne s'en distingue que
290     par le fait que la comparaison des expressions rationnelles est
291     effectuée sans tenir compte de la casse. Par exemple :</p>
292 <div class="example"><p><code>
293    SetEnvIfNoCase Host Apache\.Org site=apache
294 </code></p></div>
295
296     <p>Cette ligne va définir la variable d'environnement
297     <code>site</code> avec la valeur "<code>apache</code>" si le champ
298     d'en-tête de requête HTTP <code>Host:</code> est présent et contient
299     <code>Apache.Org</code>, <code>apache.org</code>, ou une autre
300     combinaison des mêmes caractères, sans tenir compte de la casse.</p>
301
302 </div>
303 </div>
304 <div class="bottomlang">
305 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
306 <a href="../fr/mod/mod_setenvif.html" title="Français">&nbsp;fr&nbsp;</a> |
307 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
308 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
309 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
310 </div><div id="footer">
311 <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>
312 <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>
313 </body></html>