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
|
<?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><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Sections de configuration - Serveur Apache HTTP</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 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/directives.html">Directives</a> | <a href="./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.2</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.2</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="Franais"> 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="Trke"> 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 rpertoires, fichiers, htes,
ou URLs particuliers. Ce document dcrit comment utiliser les conteneurs de
sections de configuration ou les fichiers <code>.htaccess</code> pour
modifier la porte 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">Systme de fichiers et
arborescence du site web</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Htes 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 autorises ?</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#mergin">Comment les sections sont combines entre elles</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 Apparents</th><th>Directives Apparentes</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#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
valus pour chaque requte. Les directives qu'ils contiennent s'appliquent
seulement aux requtes qui sont concernes 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
valus seulement au dmarrage et au redmarrage du serveur.
Si leurs conditions sont vrifies au dmarrage, les directives qu'ils contiennent
s'appliqueront toutes les requtes. Si leurs conditions ne sont pas vrifies, les
directives qu'ils contiennent seront ignores.</p>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>
contient des directives qui ne seront appliques que si un paramtre
appropri a t dfini 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 requtes seront rediriges vers
un autre site si le serveur est dmarr en utilisant la ligne de commande :
<code>httpd -DClosedForNow</code>:</p>
<div class="example"><p><code>
<IfDefine ClosedForNow><br />
Redirect / http://otherserver.example.com/<br />
</IfDefine>
</code></p></div>
<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 apparatre
plus haut dans le fichier de configuration. Ce conteneur ne doit tre
utilis que dans le cas o votre fichier de configuration doit fonctionner
indpendamment de la prsence ou de l'absence de certains modules.
Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
systmatiquement, car vous pouvez perdre ainsi de prcieux 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#mimemagicfiles">MimeMagicFiles</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>
<div class="example"><p><code>
<IfModule mod_mime_magic.c><br />
MimeMagicFile conf/magic<br />
</IfModule>
</code></p></div>
<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 particulire du serveur s'excute. Ce
conteneur a t conu pour une utilisation dans les suites de tests
et les grands rseaux qui doivent prendre en compte diffrentes versions
et configurations de httpd.</p>
<div class="example"><p><code>
<IfVersion >= 2.1><br />
<span class="indent">
# les directives situes ici ne s'appliquent que si la version <br />
# est suprieure ou gale 2.1.0.<br />
</span>
</IfVersion>
</code></p></div>
<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 prcder d'un "!".
De plus, ces sections peuvent tre imbriques afin de dfinir 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">Systme de fichiers et
arborescence du site web</a></h2>
<p>Les conteneurs de sections de configuration les plus couramment utiliss
sont ceux qui modifient la configuration de points particuliers du systme de
fichiers ou de l'arborescence du site web. Tout d'abord, il est important de
comprendre la diffrence entre les deux. Le systme de fichiers est une vue
de vos disques tels qu'ils sont perus par votre systme d'exploitation.
Par exemple, avec une installation par dfaut,
Apache est situ dans <code>/usr/local/apache2</code> pour le systme de
fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
le systme de fichiers Windows. (Notez que des slashes directs doivent
toujours tre utiliss comme sparateur de chemin dans Apache, mme sous
Windows.) Quant
l'arborescence du site web, il s'agit d'une vue de votre site
tel que prsent par le
serveur web et perue 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 systme de fichiers pour
une installation d'Apache par dfaut sous UNIX.
En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
systme de fichiers, car les pages web peuvent tre gnres dynamiquement
partir de bases de donnes ou d'autres emplacements.</p>
<h3><a name="filesystem" id="filesystem">Conteneurs de systme 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 systme de fichiers.
Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au rpertoire
prcis, ainsi qu' tous ses sous-rpertoires.
Le mme effet peut tre obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
configuration suivante, l'indexation sera active pour le rpertoire
<code>/var/web/dir1</code> et tous ses sous-rpertoires.</p>
<div class="example"><p><code>
<Directory /var/web/dir1><br />
Options +Indexes<br />
</Directory>
</code></p></div>
<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 spcifi, quel que soit le rpertoire dans lequel il se trouve.
Ainsi par exemple, les directives de configuration suivantes, si elles sont
places dans la section principale du fichier de configuration, vont interdire
l'accs tout fichier nomm <code>private.html</code> quel que soit
l'endroit o il se trouve.</p>
<div class="example"><p><code>
<Files private.html><br />
Order allow,deny<br />
Deny from all<br />
</Files>
</code></p></div>
<p>Pour faire rfrence des fichiers qui se trouvent en des points
particuliers du systme 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 combines. Par exemple, la configuration suivante va interdire
l'accs <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>
<div class="example"><p><code>
<Directory /var/web/dir1><br />
<Files private.html><br />
Order allow,deny<br />
Deny from all<br />
</Files><br />
</Directory>
</code></p></div>
<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'accs toute URL dont la partie chemin
commence par /private.
En particulier, l'interdiction s'appliquera aux requtes 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 requte commenant par la chane de caractres <code>/private</code>.</p>
<div class="example"><p><code>
<Location /private><br />
Order Allow,Deny<br />
Deny from all<br />
</Location>
</code></p></div>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
n'a pas besoin de faire rfrence un lment du systme de fichiers.
Par exemple, l'exemple suivant montre comment faire rfrence une URL
particulire vers un gestionnaire interne d'Apache fourni par le module
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
Il n'est pas ncessaire de trouver un fichier nomm <code>server-status</code>
dans le systme de fichiers.</p>
<div class="example"><p><code>
<Location /server-status><br />
SetHandler server-status<br />
</Location>
</code></p></div>
<h3><a name="wildcards" id="wildcards">Caractres 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 caractres de remplacement de style shell comme dans
la fonction <code>fnmatch</code> de la bibliothque C standard.
Le caractre "*"
correspond toute squence de caractres, "?" un caractre seul,
et "[<em>seq</em>]" tout caractre contenu dans <em>seq</em>.
Le caractre "/"
ne peut pas faire l'objet d'un remplacement;
il doit tre spcifi explicitement.</p>
<p>Si une dfinition des critres de correspondance
encore plus souple est ncessaire, chaque conteneur
possde 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 dfinir les critres 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 manire
dont les directives sont appliques.</p>
<p>Un conteneur qui modifie la configuration de tous les
rpertoires utilisateurs l'aide de caractres de remplacement
mais sans utiliser
les expressions rationnelles pourrait ressembler ceci :</p>
<div class="example"><p><code>
<Directory /home/*/public_html><br />
Options Indexes<br />
</Directory>
</code></p></div>
<p>Avec les conteneurs utilisant les expressions rationnelles,
on peut interdire l'accs de nombreux types de fichiers d'images
simultanment :</p>
<div class="example"><p><code>
<FilesMatch \.(?i:gif|jpe?g|png)$><br />
Order allow,deny<br />
Deny from all<br />
</FilesMatch>
</code></p></div>
<h3><a name="whichwhen" id="whichwhen">Que faut-il utiliser et quand ?</a></h3>
<p>Choisir entre des conteneurs de systme de fichiers et des conteneurs
d'arborescence du site web est vraiment trs simple.
Pour appliquer des directives des objets qui rsident dans le systme 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 rsident pas dans le systme de fichiers (comme une page web gnre
par une base de donnes), 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'accs des
objets du systme de fichiers, car plusieurs localisations de
l'arborescence du site web (URLs) peuvent correspondre la mme localisation
du systme de fichier, ce qui peut permettre de contourner vos restrictions.
Par exemple, imaginez la configuration suivante :</p>
<div class="example"><p><code>
<Location /dir/><br />
Order allow,deny<br />
Deny from all<br />
</Location>
</code></p></div>
<p>Elle fonctionne correctement si la requte appelle
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
votre systme de fichiers est insensible la casse ?
Votre restriction va pouvoir tre tout simplement contourne en envoyant une
requte 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 manire dont il est appel.
(Les liens du systme de fichiers constituent une exception.
Le mme rpertoire peut tre plac dans plusieurs parties du systme 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 consquent, pour plus de
scurit, les liens symboliques doivent tre dsactivs l'aide de la
directive
<code class="directive"><a href="./mod/core.html#options">Options</a></code> approprie.)</p>
<p>Si vous pensez que vous n'tes pas concern par ce problme
parceque vous utilisez un systme de fichiers sensible la casse,
gardez l'esprit qu'il y a de nombreuses autres manires pour faire
correspondre plusieurs localisations de l'arborescence du site web la mme
localisation du systme de fichiers. C'est pourquoi vous devez autant que
possible toujours utiliser les conteneurs de systme de fichiers.
Il y a cependant une exception cette rgle. Placer des restrictions de
configuration dans un conteneur <code><Location
/></code> est tout fait sans rique car ce conteneur va s'appliquer
toutes les requtes sans tenir compte de l'URL spcifique.</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">Htes 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 htes spcifiques.
Ceci s'avre utile pour servir des htes multiples partir de la mme machine,
chacun d'entre eux possdant une configuration diffrente. Pour de plus amples
informations,
voir la <a href="vhosts/">Documentation sur les htes 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 spcifie et auxquels on a
accd 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 accder au site
<code>cnn.com</code>.</p>
<div class="example"><p><code>
<Proxy http://cnn.com/*><br />
Order allow,deny<br />
Deny from all<br />
</Proxy>
</code></p></div>
</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 autorises ?</a></h2>
<p>Pour dterminer quelles sont les directives autorises pour tel type de
section de configuration, vrifiez 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
utilise 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="mergin" id="mergin">Comment les sections sont combines entre elles</a></h2>
<p>Les sections de configuration sont appliques dans un ordre trs particulier.
Il est important de savoir comment cet ordre est dfini car il peut avoir
des effets importants sur la manire dont les directives de configuration
sont interprtes.</p>
<p>L'ordre dans lequel les sections sont combines 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 appliqus simultanment (avec
la possibilit pour <code>.htaccess</code>, s'il y est autoris, de
prvaloir 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 appliques
simultanment</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 appliques
simultanment</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 apparat dans les fichiers de configuration.
Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (groupe 1 ci-dessus)
sont traites dans l'ordre du rpertoire 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 mme
rpertoire, elles sont traites 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 traites comme si elles se
trouvaient rellement 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 situes l'intrieur de sections <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
sont appliques <em>aprs</em> les sections correspondantes situes en
dehors de la dfinition de l'hte virtuel, ce qui permet l'hte virtuel
de prvaloir sur la configuration du serveur principal.</p>
<p>Quand la requte 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 situes plus loin dans le fichier de configuration prvalent
sur celles qui les prcdent.</p>
<div class="note"><h3>Note technique</h3>
Une squence
<code><Location></code>/<code><LocationMatch></code>
est rellement traite juste avant la phase de traduction du nom
(o <code>Aliases</code> et <code>DocumentRoots</code>
sont utiliss pour faire correspondre les URLs aux noms de fichiers).
Les effets de cette squence disparaissent totalement lorsque
la traduction est termine.
</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 requte, les directives de
cet exemple seront appliques dans l'ordre suivant : A > B > C > D >
E.</p>
<div class="example"><p><code>
<Location /><br />
E<br />
</Location><br />
<br />
<Files f.html><br />
D<br />
</Files><br />
<br />
<VirtualHost *><br />
<Directory /a/b><br />
B<br />
</Directory><br />
</VirtualHost><br />
<br />
<DirectoryMatch "^.*b$"><br />
C<br />
</DirectoryMatch><br />
<br />
<Directory /a/b><br />
A<br />
</Directory><br />
<br />
</code></p></div>
<p>Pour un exemple plus concret, considrez ce qui suit. Sans tenir compte
de toute restriction d'accs place 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
value en dernier et permettra un accs au serveur sans aucune restriction.
En d'autres termes, l'ordre de la combinaison des sections est important,
soyez donc prudent !</p>
<div class="example"><p><code>
<Location /><br />
Order deny,allow<br />
Allow from all<br />
</Location><br />
<br />:if expand("%") == ""|browse confirm w|else|confirm w|endif
# Arrghs! Cette section <Directory> n'aura aucun effet<br />
<Directory /><br />
Order allow,deny<br />
Allow from all<br />
Deny from badguy.example.com<br />
</Directory>
</code></p></div>
</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="Franais"> 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="Trke"> tr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 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/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>
</body></html>
|