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
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>
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="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_setenvif</h1>
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> |
26 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
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>
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>
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
51 <div class="example"><p><code>
52 BrowserMatch ^Mozilla netscape<br />
53 BrowserMatch MSIE !netscape<br />
56 <div id="quickview"><h3 class="directives">Directives</h3>
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>
65 <li><a href="../env.html">Les variables d'environnement et le
66 serveur HTTP Apache</a></li>
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>
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
86 <div class="example"><p><code>
87 BrowserMatchNoCase Robot est_un_robot<br />
88 SetEnvIfNoCase User-Agent Robot est_un_robot<br />
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 />
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
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>
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 />
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 />
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>
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>
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
158 <li>Une des caractéristiques de la requête suivantes :
160 <li><code>Remote_Host</code> - le nom d'hôte (s'il est disponible)
161 du client qui effectue la requête</li>
163 <li><code>Remote_Addr</code> - l'adresse IP du client qui effectue
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 à
170 <li><code>Request_Method</code> - Le nom de la méthode HTTP
171 utilisée (<code>GET</code>, <code>POST</code>, <em>et
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>
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>
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>
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.
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>
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>
219 <li><code><em>nom-variable</em></code>, or</li>
221 <li><code>!<em>nom-variable</em></code>, or</li>
223 <li><code><em>nom-variable</em>=<em>valeur</em></code></li>
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>
236 <div class="example"><h3>Example:</h3><p><code>
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 />
242 SetEnvIf Referer www\.mon-domaine\.example\.com référant_intra_site<br />
244 SetEnvIf objet_est_une_image xbm XBIT_PROCESSING=1<br />
246 SetEnvIf OID("2.16.840.1.113730.1.13") "(.*)" commentaire-netscape=$1<br />
248 SetEnvIf ^TS* ^[a-z].* HAVE_TS<br />
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>
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>
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
269 <li><a href="../env.html">Les variables d'environnement et le
270 serveur HTTP Apache</a> pour des exemples supplémentaires.
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>
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
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>
304 <div class="bottomlang">
305 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_setenvif.html" hreflang="en" rel="alternate" title="English"> en </a> |
306 <a href="../fr/mod/mod_setenvif.html" title="Français"> fr </a> |
307 <a href="../ja/mod/mod_setenvif.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
308 <a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
309 <a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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>