1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Sections de configuration - Serveur Apache HTTP Version 2.5</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<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.5</a></div><div id="page-content"><div id="preamble"><h1>Sections de configuration</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/sections.html" title="Fran�ais"> fr </a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
</div>
<p>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
au serveur dans son ensemble, ou seulement � des r�pertoires, fichiers, h�tes,
ou URLs particuliers. Ce document d�crit comment utiliser les conteneurs de
sections de configuration ou les fichiers <code>.htaccess</code> pour
modifier la port�e des directives de configuration.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Types de conteneurs de sections de
configuration</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Syst�me de fichiers,
arborescence du site web et expressions bool�ennes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">H�tes virtuels</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Quelles sont les directives autoris�es ?</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#merging">Comment les sections sont combin�es entre elles</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="types" id="types">Types de conteneurs de sections de
configuration</a></h2>
<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/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
<p>Il existe deux grands types de conteneurs. La plupart des conteneurs sont
�valu�s pour chaque requ�te. Les directives qu'ils contiennent s'appliquent
seulement aux requ�tes qui sont concern�es par le conteneur. En revanche,
les conteneurs
<code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>, <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>, et
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code> sont
�valu�s seulement au d�marrage et au red�marrage du serveur.
Si leurs conditions sont v�rifi�es au d�marrage, les directives qu'ils contiennent
s'appliqueront � toutes les requ�tes. Si leurs conditions ne sont pas v�rifi�es, les
directives qu'ils contiennent seront ignor�es.</p>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>
contient des directives qui ne seront appliqu�es que si un param�tre
appropri� a �t� d�fini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>.
Par exemple,
avec la configuration suivante, toutes les requ�tes seront redirig�es vers
un autre site si le serveur est d�marr� en utilisant la ligne de commande :
<code>httpd -DClosedForNow</code>:</p>
<pre class="prettyprint lang-config"><IfDefine ClosedForNow>
Redirect "/" "http://otherserver.example.com/"
</IfDefine></pre>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>
est similaire; les directives qu'il contient ne s'appliqueront que si
un module particulier est disponible au niveau du serveur.
Le module doit �tre soit compil� statiquement dans le serveur, soit
dynamiquement et dans ce cas, la ligne <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante doit appara�tre
plus haut dans le fichier de configuration. Ce conteneur ne doit �tre
utilis� que dans le cas o� votre fichier de configuration doit fonctionner
ind�pendamment de la pr�sence ou de l'absence de certains modules.
Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
syst�matiquement, car vous pouvez perdre ainsi de pr�cieux messages d'erreur
� propos de modules manquants.</p>
<p>Dans l'exemple suivant, la directive <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code> ne s'appliquera que si le
module <code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> est disponible.</p>
<pre class="prettyprint lang-config"><IfModule mod_mime_magic.c>
MimeMagicFile conf/magic
</IfModule></pre>
<p>Le conteneur
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
est similaire aux conteneurs <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>; les directives qu'il contient ne
s'appliqueront que si une version particuli�re du serveur s'ex�cute. Ce
conteneur a �t� con�u pour une utilisation dans les suites de tests
et les grands r�seaux qui doivent prendre en compte diff�rentes versions
et configurations de httpd.</p>
<pre class="prettyprint lang-config"><IfVersion >= 2.4>
# les directives situ�es ici ne s'appliquent que si la version <br />
# est sup�rieure ou �gale � 2.4.0.
</IfVersion></pre>
<p><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>, et
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
peuvent inverser leur test conditionnel en le faisant pr�c�der d'un "!".
De plus, ces sections peuvent �tre imbriqu�es afin de d�finir des restrictions
plus complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="file-and-web" id="file-and-web">Syst�me de fichiers,
arborescence du site web et expressions bool�ennes</a></h2>
<p>Les conteneurs de sections de configuration les plus couramment utilis�s
sont ceux qui modifient la configuration de points particuliers du syst�me de
fichiers ou de l'arborescence du site web. Tout d'abord, il est important de
comprendre la diff�rence entre les deux. Le syst�me de fichiers est une vue
de vos disques tels qu'ils sont per�us par votre syst�me d'exploitation.
Par exemple, avec une installation par d�faut,
Apache httpd est situ� dans <code>/usr/local/apache2</code> pour le syst�me de
fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
le syst�me de fichiers Windows. (Notez que des slashes directs doivent
toujours �tre utilis�s comme s�parateur de chemin
dans les fichiers de configuration d'Apache httpd, m�me sous
Windows.) Quant �
l'arborescence du site web, il s'agit d'une vue de votre site
tel que pr�sent� par le
serveur web et per�ue par le client. Ainsi le chemin <code>/dir/</code> dans
l'arborescence du site web correspond au chemin
<code>/usr/local/apache2/htdocs/dir/</code> dans le syst�me de fichiers pour
une installation d'Apache httpd par d�faut sous UNIX.
En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
syst�me de fichiers, car les pages web peuvent �tre g�n�r�es dynamiquement
� partir de bases de donn�es ou d'autres emplacements.</p>
<h3><a name="filesystem" id="filesystem">Conteneurs de syst�me de fichiers</a></h3>
<p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
et <code class="directive"><a href="./mod/core.html#files"><Files></a></code>,
ainsi que leurs �quivalents acceptant les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
appliquent des directives � certaines parties du syst�me de fichiers.
Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au r�pertoire
pr�cis�, ainsi qu'� tous ses sous-r�pertoires et aux fichiers que ces
derniers contiennent.
Le m�me effet peut �tre obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
configuration suivante, l'indexation sera activ�e pour le r�pertoire
<code>/var/web/dir1</code> et tous ses sous-r�pertoires.</p>
<pre class="prettyprint lang-config"><Directory "/var/web/dir1">
Options +Indexes
</Directory></pre>
<p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files"><Files></a></code> s'appliquent � tout fichier
avec le nom sp�cifi�, quel que soit le r�pertoire dans lequel il se trouve.
Ainsi par exemple, les directives de configuration suivantes, si elles sont
plac�es dans la section principale du fichier de configuration, vont interdire
l'acc�s � tout fichier nomm� <code>private.html</code> quel que soit
l'endroit o� il se trouve.</p>
<pre class="prettyprint lang-config"><Files "private.html">
Require all denied
</Files></pre>
<p>Pour faire r�f�rence � des fichiers qui se trouvent en des points
particuliers du syst�me de fichiers, les sections
<code class="directive"><a href="./mod/core.html#files"><Files></a></code> et
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
peuvent �tre combin�es. Par exemple, la configuration suivante va interdire
l'acc�s � <code>/var/web/dir1/private.html</code>,
<code>/var/web/dir1/subdir2/private.html</code>,
<code>/var/web/dir1/subdir3/private.html</code>, ainsi que toute instance de
<code>private.html</code> qui se trouve dans l'arborescence
<code>/var/web/dir1/</code>.</p>
<pre class="prettyprint lang-config"><Directory "/var/web/dir1">
<Files "private.html">
Require all denied
</Files>
</Directory></pre>
<h3><a name="webspace" id="webspace">Conteneurs de l'arborescence du site web</a></h3>
<p>le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
et son �quivalent acceptant les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, modifient quant � eux la
configuration de parties de l'arborescence du site web. Par exemple, la
configuration suivante interdit l'acc�s � toute URL dont la partie chemin
commence par /private.
En particulier, l'interdiction s'appliquera aux requ�tes pour :
<code>http://yoursite.example.com/private</code>,
<code>http://yoursite.example.com/private123</code>, et
<code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'�
toute requ�te commen�ant par la cha�ne de caract�res <code>/private</code>.</p>
<pre class="prettyprint lang-config"><LocationMatch "^/private">
Require all denied
</LocationMatch></pre>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
n'a pas besoin de faire r�f�rence � un �l�ment du syst�me de fichiers.
Par exemple, l'exemple suivant montre comment faire r�f�rence � une URL
particuli�re vers un gestionnaire interne du serveur HTTP Apache fourni par le module
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
Il n'est pas n�cessaire de trouver un fichier nomm� <code>server-status</code>
dans le syst�me de fichiers.</p>
<pre class="prettyprint lang-config"><Location "/server-status">
SetHandler server-status
</Location></pre>
<h3><a name="overlapping-webspace" id="overlapping-webspace">Espace web imbriqu�</a></h3>
<p>Pour contr�ler deux URLs imbriqu�es, on doit tenir compte de l'ordre
dans lequel certaines sections ou directives sont �valu�es. Pour
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>, on doit
avoir :</p>
<pre class="prettyprint lang-config"><Location "/foo">
</Location>
<Location "/foo/bar">
</Location></pre>
<p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias"><Alias></a></code>, quant � elles, sont �valu�es vice-versa :</p>
<pre class="prettyprint lang-config">Alias "/foo/bar" "/srv/www/uncommon/bar"
Alias "/foo" "/srv/www/common/foo"</pre>
<p>Ceci est aussi vrai pour les directives <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
<pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On</pre>
<h3><a name="wildcards" id="wildcards">Caract�res de remplacement
et expressions rationnelles</a></h3>
<p>Les conteneurs
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>,
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>, et
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>
peuvent utiliser des caract�res de remplacement de style shell comme dans
la fonction <code>fnmatch</code> de la biblioth�que C standard.
Le caract�re "*"
correspond � toute s�quence de caract�res, "?" � un caract�re seul,
et "[<em>seq</em>]" � tout caract�re contenu dans <em>seq</em>.
Le caract�re "/"
ne peut pas faire l'objet d'un remplacement;
il doit �tre sp�cifi� explicitement.</p>
<p>Si une d�finition des crit�res de correspondance
encore plus souple est n�cessaire, chaque conteneur
poss�de son �quivalent acceptant les expressions rationnelles : <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>, et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> acceptent les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> compatibles Perl
pour d�finir les crit�res de correspondance. Mais voyez plus loin la section
� propos de la combinaison des sections de configuration
pour comprendre comment l'utilisation de
conteneurs avec des expressions rationnelles va modifier la mani�re
dont les directives sont appliqu�es.</p>
<p>Un conteneur qui modifie la configuration de tous les
r�pertoires utilisateurs � l'aide de caract�res de remplacement
mais sans utiliser
les expressions rationnelles pourrait ressembler � ceci :</p>
<pre class="prettyprint lang-config"><Directory "/home/*/public_html">
Options Indexes
</Directory></pre>
<p>Avec les conteneurs utilisant les expressions rationnelles,
on peut interdire l'acc�s � de nombreux types de fichiers d'images
simultan�ment :</p>
<pre class="prettyprint lang-config">+<FilesMatch "\.(?i:gif|jpe?g|png)$">
Require all denied
</FilesMatch></pre>
<p>Les expressions rationnelles contenant des <strong>groupes nomm�s et
des r�f�rences arri�res</strong> sont ajout�es � l'environnement avec
leur nom en majuscules. Ceci permet de r�f�rencer des �l�ments de
chemins de fichiers et d'URLs depuis une <a href="expr.html">expression</a> et au sein de modules comme
<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
<pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
</DirectoryMatch></pre>
<h3><a name="expressions" id="expressions">Expressions bool�ennes</a></h3>
<p>La directive <code class="directive"><a href="./mod/core.html#if"><If></a></code>
permet de modifier la configuration en fonction d'une condition qui peut
�tre d�finie sous la forme d'une expression bool�enne. Dans l'exemple
suivant, l'acc�s est interdit si l'en-t�te HTTP Referer ne commence pas
par "http://www.example.com/".</p>
<pre class="prettyprint lang-config"><If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
Require all denied
</If></pre>
<h3><a name="whichwhen" id="whichwhen">Que faut-il utiliser et quand ?</a></h3>
<p>Choisir entre des conteneurs de syst�me de fichiers et des conteneurs
d'arborescence du site web est vraiment tr�s simple.
Pour appliquer des directives � des objets qui r�sident dans le syst�me de
fichiers, utilisez toujours un conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="./mod/core.html#files"><Files></a></code>. Pour appliquer des directives � des objets
qui ne r�sident pas dans le syst�me de fichiers (comme une page web g�n�r�e
par une base de donn�es), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>.</p>
<p>Il ne faut jamais utiliser un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code> pour restreindre l'acc�s � des
objets du syst�me de fichiers, car plusieurs localisations de
l'arborescence du site web (URLs) peuvent correspondre � la m�me localisation
du syst�me de fichier, ce qui peut permettre de contourner vos restrictions.
Par exemple, imaginez la configuration suivante :</p>
<pre class="prettyprint lang-config"><Location "/dir/">
Require all denied
</Location></pre>
<p>Elle fonctionne correctement si la requ�te appelle
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
votre syst�me de fichiers est insensible � la casse ?
Votre restriction va pouvoir �tre tout simplement contourn�e en envoyant une
requ�te sur
<code>http://yoursite.example.com/DIR/</code>. Le conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, quant � lui, s'appliquera
� tout contenu servi � partir de cette localisation,
sans tenir compte de la mani�re dont il est appel�.
(Les liens du syst�me de fichiers constituent une exception.
Le m�me r�pertoire peut �tre plac� dans plusieurs parties du syst�me de
fichiers en utilisant des liens symboliques. Le conteneur
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> va suivre le
lien symbolique sans modifier le nom du chemin. Par cons�quent, pour plus de
s�curit�, les liens symboliques doivent �tre d�sactiv�s � l'aide de la
directive
<code class="directive"><a href="./mod/core.html#options">Options</a></code> appropri�e.)</p>
<p>Si vous pensez que vous n'�tes pas concern� par ce probl�me
parceque vous utilisez un syst�me de fichiers sensible � la casse,
gardez � l'esprit qu'il y a de nombreuses autres mani�res pour faire
correspondre plusieurs localisations de l'arborescence du site web � la m�me
localisation du syst�me de fichiers. C'est pourquoi vous devez autant que
possible toujours utiliser les conteneurs de syst�me de fichiers.
Il y a cependant une exception � cette r�gle. Placer des restrictions de
configuration dans un conteneur <code><Location
"/"></code> est tout � fait sans rique car ce conteneur va s'appliquer �
toutes les requ�tes sans tenir compte de l'URL sp�cifique.</p>
<h3><a name="nesting" id="nesting">Imbrication des sections</a></h3>
<p>Certains types de sections peuvent �tre imbriqu�s : d'une part, on
peut utiliser les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> � l'int�rieur des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, d'autre part, on
peut utiliser les
directives <code class="directive"><a href="./mod/core.html#if"><If></a></code> �
l'int�rieur des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> et <code class="directive"><a href="./mod/core.html#files"><Files></a></code>. Les valeurs des expressions
rationnelles correspondant aux sections nomm�es se comportent de mani�re
identique.</p>
<p>Les sections imbriqu�es sont fusionn�es apr�s les sections
non-imbriqu�es de m�me type.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="virtualhost" id="virtualhost">H�tes virtuels</a></h2>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
contient des directives qui s'appliquent � des h�tes sp�cifiques.
Ceci s'av�re utile pour servir des h�tes multiples � partir de la m�me machine,
chacun d'entre eux poss�dant une configuration diff�rente. Pour de plus amples
informations,
voir la <a href="vhosts/">Documentation sur les h�tes virtuels</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="proxy" id="proxy">Mandataire</a></h2>
<p>Les conteneurs
<code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>
appliquent les directives de configuration qu'ils contiennent uniquement aux
sites qui correspondent � l'URL sp�cifi�e et auxquels on a
acc�d� via le serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
Par exemple, la configuration suivante
va interdire l'utilisation du serveur proxy pour acc�der au site
<code>www.example.com</code>.</p>
<pre class="prettyprint lang-config"><Proxy http://www.example.com/*>
Require all granted
</Proxy></pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="whatwhere" id="whatwhere">Quelles sont les directives autoris�es ?</a></h2>
<p>Pour d�terminer quelles sont les directives autoris�es pour tel type de
section de configuration, v�rifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
Tout ce qui est autoris� dans les sections
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
l'est aussi d'un point de vue syntaxique dans les sections
<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>,
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>,
<code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>,
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>,
<code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code>,
<code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>,
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>.
Il y a cependant quelques exceptions :</p>
<ul>
<li>La directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
ne fonctionne que dans les sections
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>.</li>
<li>Les <code class="directive"><a href="./mod/core.html#options">Options</a></code> <code>FollowSymLinks</code> et
<code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les sections
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> ou les fichiers
<code>.htaccess</code>.</li>
<li>La directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> ne peut pas �tre
utilis�e dans les sections
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>
et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="merging" id="merging">Comment les sections sont combin�es entre elles</a></h2>
<p>Les sections de configuration sont appliqu�es dans un ordre tr�s particulier.
Il est important de savoir comment cet ordre est d�fini car il peut avoir
des effets importants sur la mani�re dont les directives de configuration
sont interpr�t�es.</p>
<p>L'ordre dans lequel les sections sont combin�es est :</p>
<ol>
<li> Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (� l'exception des
expressions rationnelles)
et les fichiers <code>.htaccess</code> sont appliqu�s simultan�ment (avec
la possibilit� pour <code>.htaccess</code>, s'il y est autoris�, de
pr�valoir sur
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>)</li>
<li>Les sections
<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>
(et <code><Directory ~></code>)</li>
<li>Les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code> sont appliqu�es
simultan�ment</li>
<li>Les sections
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>
et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> sont appliqu�es
simultan�ment</li>
<li>Les directives <code class="directive"><a href="./mod/core.html#if"><If></a></code>
</li>
</ol>
<p>Mises � part les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, chaque groupe est trait� selon
l'ordre dans lequel il appara�t dans les fichiers de configuration.
Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (groupe 1 ci-dessus)
sont trait�es dans l'ordre du r�pertoire le plus court vers le plus long.
Par exemple, <code><Directory "/var/web/dir"></code> sera
trait� avant <code><Directory
"/var/web/dir/subdir"></code>. Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au m�me
r�pertoire, elles sont trait�es selon l'ordre dans lequel elles
apparaissent dans le fichier de configuration.
Les sections de configuration incluses via la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont trait�es comme si elles se
trouvaient r�ellement dans le fichier qui les inclut � la position de la
directive
<code class="directive"><a href="./mod/core.html#include">Include</a></code>.</p>
<p>Les sections situ�es � l'int�rieur de sections <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
sont appliqu�es <em>apr�s</em> les sections correspondantes situ�es en
dehors de la d�finition de l'h�te virtuel, ce qui permet � l'h�te virtuel
de pr�valoir sur la configuration du serveur principal.</p>
<p>Quand la requ�te est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
le conteneur <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> dans l'ordre de traitement.</p>
<p>Les sections situ�es plus loin dans le fichier de configuration pr�valent
sur celles qui les pr�c�dent ; cependant, chaque
module est responsable de la d�finition de la forme que doit prendre
cette pr�valence. Une section de configuration ult�rieure contenant
des directives d'un certain module peut �tre � l'origine d'une
fusion conceptuelle de certaines directives, de toutes les
directives, ou un remplacement complet de la configuration du module
par ses valeurs par d�faut et les directives explicitement d�finies
dans cette section ult�rieure.</p>
<div class="note"><h3>Note technique</h3>
Une s�quence
<code><Location></code>/<code><LocationMatch></code>
est r�ellement trait�e juste avant la phase de traduction du nom
(o� <code>Aliases</code> et <code>DocumentRoots</code>
sont utilis�s pour faire correspondre les URLs aux noms de fichiers).
Les effets de cette s�quence disparaissent totalement lorsque
la traduction est termin�e.
</div>
<h3><a name="merge-examples" id="merge-examples">Quelques exemples</a></h3>
<p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
En supposant qu'elles s'appliquent toutes � la requ�te, les directives de
cet exemple seront appliqu�es dans l'ordre suivant : A > B > C > D >
E.</p>
<pre class="prettyprint lang-config"><Location "/">
E
</Location>
<Files "f.html">
D
</Files>
<VirtualHost *>
<Directory "/a/emphasis role="bold"">
B
</Directory>
</VirtualHost>
<DirectoryMatch "^.*b$">
C
</DirectoryMatch>
<Directory "/a/b">
A
</Directory></pre>
<p>Pour un exemple plus concret, consid�rez ce qui suit. Sans tenir compte
de toute restriction d'acc�s plac�e dans les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, la section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> sera
�valu�e en dernier et permettra un acc�s au serveur sans aucune restriction.
En d'autres termes, l'ordre de la combinaison des sections est important,
soyez donc prudent !</p>
<pre class="prettyprint lang-config"><Location "/">
Require all granted
</Location>
# Arrghs! Cette section <Directory> n'aura aucun effet
<Directory "/">
<RequireAll>
Require all granted
Require not host badguy.example.com
</RequireAll>
</Directory></pre>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/sections.html" title="Fran�ais"> fr </a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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&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/sections.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 2015 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>
|