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>Apache et les variables d'environnement - 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 id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <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></div><div id="page-content"><div id="preamble"><h1>Apache et les variables d'environnement</h1>
21 <p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="./fr/env.html" title="Français"> fr </a> |
23 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
24 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
25 <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
28 <p>Deux types de variables d'environnement affectent le serveur
31 <p>Le premier type correspond aux variables d'environnement
32 contrôlées par le système d'exploitation sous-jacent et définies
33 avant le démarrage du serveur. Leurs valeurs peuvent être utilisées
34 directement dans les fichiers de configuration, et peuvent
35 éventuellement être transmises aux scripts CGI et SSI via la
36 directive PassEnv.</p>
38 <p>Le second type correspond aux variables nommées appelées aussi
39 <em>variables d'environnement</em> dans lesquelles le serveur HTTP
40 Apache stocke des informations via un mécanisme spécial. Ces
41 informations peuvent servir à contrôler diverses opérations comme
42 l'enregistrement des traces ou le contrôle d'accès. On utilise aussi ces
43 variables dans le mécanisme de communication avec les programmes externes
44 comme les scripts CGI. Ce document présente différentes méthodes pour
45 manipuler et utiliser ces variables.</p>
47 <p>Bien que ces variables soient référencées comme <em>variables
48 d'environnement</em>, il ne faut pas les confondre avec les variables
49 d'environnement contrôlées par le système d'exploitation sous-jacent.
50 En fait, ces variables sont stockées et manipulées dans une structure
51 interne à Apache. Elles ne deviennent de véritables variables
52 d'environnement du système d'exploitation que lorsqu'elles sont mises à la
53 disposition de scripts CGI et de scripts inclus côté serveur (SSI). Si vous
54 souhaitez manipuler l'environnement du système d'exploitation sous lequel
55 le serveur s'exécute, vous devez utiliser les mécanismes standards de
56 manipulation de l'environnement fournis par l'interpréteur de commandes
57 (shell) de votre système d'exploitation.</p>
59 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Définition des variables d'environnement</a></li>
60 <li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation des variables d'environnement</a></li>
61 <li><img alt="" src="./images/down.gif" /> <a href="#special">Variables d'environnement à usage spécial</a></li>
62 <li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li>
64 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
66 <h2><a name="setting" id="setting">Définition des variables d'environnement</a></h2>
68 <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
70 <h3><a name="basic-manipulation" id="basic-manipulation">Manipulations de base de l'environnement</a></h3>
73 <p>La méthode la plus élémentaire pour définir une variable
74 d'environnement au niveau d'Apache consiste à utiliser la directive
75 inconditionnelle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>. Les variables peuvent aussi être transmises depuis
76 l'environnement du shell à partir duquel le serveur a été démarré en
77 utilisant la directive
78 <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code>.</p>
81 <h3><a name="conditional" id="conditional">Définitions conditionnelles en fonction des requêtes</a></h3>
84 <p>Pour plus de souplesse, les directives fournies par le module
85 <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> permettent de définir les
86 variables d'environnement en tenant compte des caractéristiques
87 de chaque requête. Par exemple, une
88 variable pourrait n'être définie que lorsqu'un navigateur spécifique
89 (User-Agent) a généré la requête, ou seulement quand un en-tête
90 Referer particulier est présent. La directive
91 <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> du module
92 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> qui utilise l'option
93 <code>[E=...]</code> pour définir
94 les variables d'environnement apporte encore plus de souplesse.</p>
97 <h3><a name="unique-identifiers" id="unique-identifiers">Identifiants uniques</a></h3>
100 <p>Finalement, le module <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> définit la variable
101 d'environnement <code>UNIQUE_ID</code> pour chaque requête à une valeur
102 qui est garantie unique parmi "toutes" les requêtes sous des
103 conditions très spécifiques.</p>
106 <h3><a name="standard-cgi" id="standard-cgi">Variables CGI standards</a></h3>
109 <p>En plus de l'ensemble des variables d'environnement internes à la
110 configuration d'Apache et de celles transmises depuis le shell,
111 les scripts CGI et les pages SSI
112 se voient affectés un ensemble de variables
113 d'environnement contenant des méta-informations à propos de la requête
114 comme préconisé dans la
115 <a href="http://www.w3.org/CGI/">spécification
116 sur les CGIs</a>.</p>
119 <h3><a name="caveats" id="caveats">Quelques mises en garde</a></h3>
123 <li>Les directives de manipulation de l'environnement ne permettent
124 pas de supplanter ou modifier les variables CGI standards.</li>
126 <li>Lorsqu'on utilise <code class="program"><a href="./programs/suexec.html">suexec</a></code> pour exécuter des
127 scripts CGI, l'environnement est nettoyé et réduit à un ensemble de
128 variables <em>sûres</em> avant l'exécution du script. La liste des
129 variables <em>sûres</em> est définie à la compilation dans
130 <code>suexec.c</code>.</li>
132 <li>Pour des raisons de portabilité, les noms des variables
133 d'environnement ne peuvent contenir que des lettres, des chiffres, et
134 le caractère "sousligné". En outre, le premier caractère ne doit pas
135 être un chiffre. Les caractères qui ne satisfont pas à ces conditions
136 seront remplacés par un caractère "sousligné" quand ils seront
137 transmis aux scripts CGI et aux pages SSI.</li>
139 <li>La directive <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> s'exécute assez tard au
140 cours du traitement de la requête, ce qui signifie que des
141 directives telles que <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> et <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> ne verront pas
142 les variables qu'elle aura définies.</li>
145 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
146 <div class="section">
147 <h2><a name="using" id="using">Utilisation des variables d'environnement</a></h2>
150 <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_authz_host.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
152 <h3><a name="cgi-scripts" id="cgi-scripts">Scripts CGI</a></h3>
155 <p>La communication d'informations aux scripts CGI constitue une des
156 principales utilisations des variables d'environnement. Comme indiqué
157 plus haut, l'environnement transmis aux scripts CGI comprend des
158 méta-informations standards à propos de la requête, en plus des
159 variables définies dans la configuration d'Apache. Pour plus de
160 détails, se référer au
161 <a href="howto/cgi.html">tutoriel CGI</a>.</p>
164 <h3><a name="ssi-pages" id="ssi-pages">Pages SSI</a></h3>
167 <p>Les documents inclus côté serveur (SSI) traités par le filtre
168 <code>INCLUDES</code> du module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>,
170 variables d'environnement à l'aide de l'élément <code>echo</code>,
171 et peuvent utiliser des variables d'environnement dans les éléments
172 de contrôle de flux pour rendre certaines parties d'une page
173 conditionnelles en fonction des caractéristiques de la requête.
174 Apache fournit aussi les variables d'environnement CGI standards
176 comme indiqué plus haut. Pour plus de détails, se référer au
177 <a href="howto/ssi.html">tutoriel SSI</a>.</p>
180 <h3><a name="access-control" id="access-control">Contrôle d'accès</a></h3>
183 <p>L'accès au serveur peut être contrôlé en fonction de la valeur de
184 variables d'environnement à l'aide des directives
185 <code>allow from env=</code> et <code>deny from env=</code>.
186 En association avec la directive
187 <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une
188 grande souplesse au contrôle d'accès au serveur en fonction des
189 caractéristiques du client. Par exemple, vous pouvez utiliser ces
190 directives pour interdire l'accès depuis un navigateur particulier
195 <h3><a name="logging" id="logging">Enregistrement conditionnel des traces</a></h3>
198 <p>Les variables d'environnement peuvent être enregistrées dans le
199 fichier de log des accès à l'aide de l'option <code>%e</code> de la
200 directive <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code>.
201 En outre, la décision de tracer ou non les requêtes peut être prise
202 en fonction de l'état de variables d'environnement en utilisant la
203 forme conditionnelle de la directive
204 <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>. En
205 association avec la directive <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, ceci confère une grande souplesse au contrôle
206 du traçage des requêtes. Par exemple, vous pouvez choisir de ne pas
207 tracer les requêtes pour des noms de fichiers se terminant par
208 <code>gif</code>, ou encore de ne tracer que les requêtes des clients
209 n'appartenant pas à votre sous-réseau.</p>
212 <h3><a name="response-headers" id="response-headers">En-têtes de réponse conditionnels</a></h3>
215 <p>La directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>
216 peut se baser sur la présence ou l'absence d'une variable
217 d'environnement pour décider si un certain en-tête HTTP sera placé
218 dans la réponse au client. Ceci permet, par exemple, de n'envoyer un
219 certain en-tête de réponse que si un en-tête correspondant est présent
220 dans la requête du client.</p>
224 <h3><a name="external-filter" id="external-filter">Activation de filtres externes</a></h3>
227 <p>Les filtres externes configurés par le module
228 <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> à l'aide de la directive <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> peuvent être
229 activés de manière conditionnelle en fonction d'une variable
230 d'environnement à l'aide des options
231 <code>disableenv=</code> et <code>enableenv=</code>.</p>
234 <h3><a name="url-rewriting" id="url-rewriting">Réécriture d'URL</a></h3>
237 <p>La forme <code>%{ENV:<em>variable</em>}</code> de
238 <em>TestString</em> dans la
239 directive <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
240 permet au moteur de réécriture du module
241 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> de prendre des
242 décisions conditionnées par des variables d'environnement.
243 Notez que les variables accessibles dans
244 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sans le préfixe
245 <code>ENV:</code> ne sont pas de véritables variables
246 d'environnement. Ce sont plutôt des variables spécifiques à
247 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
248 qui ne sont pas accessibles pour les autres modules.</p>
250 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
251 <div class="section">
252 <h2><a name="special" id="special">Variables d'environnement à usage spécial</a></h2>
255 <p>Des problèmes d'interopérabilité ont conduit à l'introduction de
256 mécanismes permettant de modifier le comportement d'Apache lorsqu'il
257 dialogue avec certains clients. Afin de rendre ces mécanismes aussi
258 souples que possible, ils sont invoqués en définissant des variables
259 d'environnement, en général à l'aide de la directive
260 <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, bien que les
261 directives <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> et
262 <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> puissent aussi être
263 utilisées, par exemple.</p>
265 <h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
268 <p>Ceci force le traitement d'une requête comme une requête HTTP/1.0
269 même si elle a été rédigée dans un langage plus récent.</p>
272 <h3><a name="force-gzip" id="force-gzip">force-gzip</a></h3>
274 <p>Si le filtre <code>DEFLATE</code> est activé, cette variable
275 d'environnement ignorera les réglages accept-encoding de votre
276 navigateur et enverra une sortie compressée inconditionnellement.</p>
278 <h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3>
281 <p>Cette variable entraîne la suppression de tout champ
282 <code>Vary</code> des en-têtes de la réponse avant que cette dernière
283 soit renvoyée au client. Certains clients n'interprètent pas ce champ
284 correctement, et la définition de cette variable permet de contourner
285 ce problème, mais implique aussi la définition de
286 <strong>force-response-1.0</strong>.</p>
289 <h3><a name="force-response" id="force-response">force-response-1.0</a></h3>
292 <p>Cette variable force une réponse en langage HTTP/1.0 aux clients
293 qui envoient des requêtes dans le même langage. Elle fut implémentée à
294 l'origine suite à des problèmes avec les mandataires d'AOL. Certains
295 clients en langage HTTP/1.0 ne réagissent pas correctement face à une
296 réponse en langage HTTP/1.1, et cette variable peut être utilisée pour
297 assurer l'interopérabilité avec eux.</p>
301 <h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
304 <p>Positionnée à "1", cette variable désactive le filtre en sortie
305 <code>DEFLATE</code> fourni par le module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour les
306 types de contenu autres que <code>text/html</code>. Si vous préférez
307 utiliser des fichiers compressés statiquement,
308 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> évalue aussi la variable (non
309 seulement pour gzip, mais aussi pour tous les encodages autres que
313 <h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3>
315 <p>Quand cette variable est définie, le filtre <code>DEFLATE</code> du
316 module <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> est désactivé, et
317 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> refusera de délivrer des ressources
322 <h3><a name="no-cache" id="no-cache">no-cache</a></h3>
323 <p><em>Disponible dans les versions 2.2.12 et ultérieures d'Apache</em></p>
325 <p>Lorsque cette variable est définie,
326 <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> ne sauvegardera pas de réponse
327 susceptible d'être mise en cache. Cette variable d'environnement
328 n'a aucune incidence sur le fait qu'une réponse déjà enregistrée
329 dans la cache soit utilisée ou non pour la requête courante.</p>
333 <h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3>
336 <p>Quand cette variable est définie, la directive
337 <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> est désactivée.</p>
341 <h3><a name="prefer-language" id="prefer-language">prefer-language</a></h3>
343 <p>Cette variable modifie le comportement du module
344 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>. Si elle contient un symbole de
345 langage (tel que <code>en</code>, <code>ja</code>
346 ou <code>x-klingon</code>), <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> essaie de
347 délivrer une variante dans ce langage. S'il n'existe pas de telle
348 variante, le processus normal de
349 <a href="content-negotiation.html">négociation</a> s'applique.</p>
353 <h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3>
356 <p>Cette variable force le serveur à être plus prudent lors de l'envoi
357 d'une redirection au client. Elle est en général utilisée quand un
358 client présente un problème connu avec les redirections. Elle fut
359 implémentée à l'origine suite a un problème rencontré avec le logiciel
360 WebFolders de Microsoft qui ne gère pas correctement les redirections
361 vers des ressources de type répertoire via des méthodes DAV.</p>
365 <h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3>
368 <p><em>Disponible dans les versions postérieures à 2.0.54</em></p>
370 <p>Quand Apache génère une redirection en réponse à une requête client,
371 la réponse inclut un texte destiné à être affiché au cas où le client ne
372 suivrait pas, ou ne pourrait pas suivre automatiquement la redirection.
373 Habituellement, Apache marque ce texte en accord avec le jeu de caractères
374 qu'il utilise, à savoir ISO-8859-1.</p>
375 <p> Cependant, si la redirection fait référence à une page qui utilise un
376 jeu de caractères différent, certaines versions de navigateurs obsolètes
377 essaieront d'utiliser le jeu de caractères du texte de la redirection
378 plutôt que celui de la page réelle.
379 Ceci peut entraîner, par exemple, un rendu incorrect du Grec.</p>
380 <p>Si cette variable d'environnement est définie, Apache omettra le jeu de
381 caractères pour le texte de la redirection, et les navigateurs obsolètes
382 précités utiliseront correctement celui de la page de destination.</p>
384 <div class="warning">
385 <h3>Note concernant la sécurité</h3>
387 <p>L'envoi de pages d'erreur sans spécifier un jeu de caractères peut
388 conduire à des attaques de type "cross-site-scripting" pour les
389 navigateurs qui ne respectent pas la spécification HTTP/1.1 (MSIE) et
390 tentent de déduire le jeu de caractères à partir du contenu. De tels
391 navigateurs peuvent être facilement trompés et utiliser le jeu de
392 caractères UTF-7 ; les contenus des données en entrée de type UTF-7
393 (comme les URI de requête) ne seront alors plus protégés par les
394 mécanismes d'échappement usuels conçus pour prévenir les attaques
395 de type "cross-site-scripting".</p>
400 <h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked,
401 proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled</a></h3>
403 <p>Ces directives modifient le comportement protocolaire du module
404 <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. Voir la documentation sur
405 <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> et <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code> pour plus de détails.</p>
408 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
409 <div class="section">
410 <h2><a name="examples" id="examples">Exemples</a></h2>
413 <h3><a name="misbehaving" id="misbehaving">Modification du comportement protocolaire face à des clients
414 réagissant de manière non conforme</a></h3>
417 <p>Les versions antérieures recommandaient l'ajout de ces lignes dans
418 httpd.conf pour tenir compte de problèmes connus avec certains clients.
419 Comme les clients concernés sont maintenant très peu utilisés, cet
420 ajout n'est pratiquement plus nécessaire.</p>
421 <div class="example"><pre>
423 # The following directives modify normal HTTP response behavior.
424 # The first directive disables keepalive for Netscape 2.x and browsers that
425 # spoof it. There are known problems with these browser implementations.
426 # The second directive is for Microsoft Internet Explorer 4.0b2
427 # which has a broken HTTP/1.1 implementation and does not properly
428 # support keepalive when it is used on 301 or 302 (redirect) responses.
430 BrowserMatch "Mozilla/2" nokeepalive
431 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
434 # The following directive disables HTTP/1.1 responses to browsers which
435 # are in violation of the HTTP/1.0 spec by not being able to grok a
436 # basic 1.1 response.
438 BrowserMatch "RealPlayer 4\.0" force-response-1.0
439 BrowserMatch "Java/1\.0" force-response-1.0
440 BrowserMatch "JDK/1\.0" force-response-1.0</pre></div>
443 <h3><a name="no-img-log" id="no-img-log">Ne pas tracer les requêtes pour des images dans le fichier de
444 trace des accès</a></h3>
447 <p>Dans cet exemple, les requêtes pour des images n'apparaissent pas
448 dans le fichier de trace des accès. Il peut être facilement adapté pour
449 empêcher le traçage de répertoires particuliers, ou de requêtes
450 en provenance de certains hôtes.</p>
451 <div class="example"><p><code>
452 SetEnvIf Request_URI \.gif image-request<br />
453 SetEnvIf Request_URI \.jpg image-request<br />
454 SetEnvIf Request_URI \.png image-request<br />
455 CustomLog logs/access_log common env=!image-request
459 <h3><a name="image-theft" id="image-theft">Prévention du "Vol d'image"</a></h3>
462 <p>Cet exemple montre comment empêcher les utilisateurs ne faisant pas
463 partie de votre serveur d'utiliser des images de votre serveur comme
464 images en ligne dans leurs pages. Cette configuration n'est pas
465 recommandée, mais elle peut fonctionner dans des circonstances bien
466 définies. Nous supposons que toutes vos images sont enregistrées dans
467 un répertoire nommé <code>/web/images</code>.</p>
468 <div class="example"><p><code>
469 SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
470 # Allow browsers that do not send Referer info<br />
471 SetEnvIf Referer "^$" local_referal<br />
472 <Directory /web/images><br />
473 <span class="indent">
474 Order Deny,Allow<br />
476 Allow from env=local_referal
481 <p>Pour plus d'informations sur cette technique, voir le tutoriel sur
483 "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>".</p>
486 <div class="bottomlang">
487 <p><span>Langues Disponibles: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
488 <a href="./fr/env.html" title="Français"> fr </a> |
489 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
490 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
491 <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
492 </div><div id="footer">
493 <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>
494 <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>