Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
<p>Les directives associes aux rpertoires sous forme d'expressions
rationnelles ne sont prises en compte qu'une fois toutes les
directives des sections sans expressions rationnelles appliques.
Alors, tous les rpertoires avec expressions rationnelles sont
tests selon l'ordre dans lequel ils apparaissent dans le fichier de
configuration. Par exemple, avec</p>
<pre class="prettyprint lang-config"><Directory ~ "abc$">
# ... directives ici ...
</Directory></pre>
<p>la section avec expression rationnelle ne sera prise en compte
qu'aprs les sections <code class="directive"><Directory></code> sans expression rationnelle
et les fichiers <code>.htaccess</code>. Alors, l'expression
rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
et la section <code class="directive"><Directory></code>
correspondante s'appliquera.</p>
<p><strong>Notez que la politique d'accs par dfaut
dans les sections <code><Directory "/"></code> consiste
autoriser tout accs sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
correspondant une URL. Il est recommand de modifier cette
situation l'aide d'un bloc du style</strong></p>
<pre class="prettyprint lang-config"><Directory "/">
Require all denied
</Directory></pre>
<p><strong>puis d'affiner la configuration pour les rpertoires que vous
voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils propos de scurit</a>
pour plus de dtails.</strong></p>
<p>Les sections <code class="directive"><Directory></code> se situent
dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas tre imbriques
et ne sont pas autorises dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour des
explications propos de la manire dont ces diffrentes sections se
combinent entre elles la rception d'une requte</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="directorymatch" id="directorymatch">Directive</a> <a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent au contenu de rpertoires
du systme de fichiers correspondant une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>>
... </DirectoryMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Les balises <code class="directive"><DirectoryMatch></code>
et <code></DirectoryMatch></code> permettent de regrouper un
ensemble de directives qui ne s'appliqueront qu'au rpertoire
prcis (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
rpertoire est prcis sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
<pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
</DirectoryMatch></pre>
<p>convient pour les sous-rpertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
<div class="note"><h3>Compatibilit</h3>
Avant la version 2.3.9, cette directive s'appliquait aussi aux
sous-rpertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du
symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
rpertoires qui correspondent l'expression sont affects par les
directives contenues dans la section.
</div>
<div class="note"><h3>slash de fin</h3>
Cette directive s'applique aux requtes pour des rpertoires avec
ou sans slash de fin ; les expressions contenant un symbole de fin
de ligne ($) doivent donc faire l'objet d'une attention
particulire.
</div>
<p>A partir de la version 2.4.8, les groupes nomms et les
rfrences arrires sont extraits et enregistrs dans
l'environnement avec leur nom en majuscules et prfix
par "MATCH_". Ceci permet
de rfrencer des URLs dans des <a href="../expr.html">expressions</a>
ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
viter toute confusion, les rfrences arrires numrotes (non
nommes) sont ignores. Vous devez utiliser la place des groupes
nomms.</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>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#directory"><Directory></a></code>
pour une description de la manire dont les expressions rationnelles
sont traites en prsence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
explication propos de la manire dont ces diffrentes sections se
combinent entre elles la rception d'une requte</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="documentroot" id="documentroot">Directive</a> <a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible
depuis Internet</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin rpertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Dfaut:</a></th><td><code>DocumentRoot "/usr/local/apache/htdocs"</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Cette directive permet de dfinir le rpertoire partir duquel
<code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond
pas un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
de l'URL sera ajout par le serveur la racine des documents afin
de construire le chemin du document recherch. Exemple :</p>
<pre class="prettyprint lang-config">DocumentRoot "/usr/web"</pre>
<p>un accs <code>http://my.example.com/index.html</code> se
rfre alors <code>/usr/web/index.html</code>. Si <var>chemin
rpertoire</var> n'est pas un chemin absolu, il est considr comme
relatif au chemin dfini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
<p>Le rpertoire dfini par la directive
<code class="directive">DocumentRoot</code> ne doit pas comporter de slash
final.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../urlmapping.html#documentroot">Mise en
correspondance des URLs avec le systme de fichiers</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="else" id="else">Directive</a> <a name="Else" id="Else"><Else></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la
condition correspondant la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><a href="#elseif"><ElseIf></a></code> prcdente n'est pas satisfaite par la
requte l'excution</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Else> ... </Else></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit:</a></th><td>Les conditions imbriques sont supportes partir de la version
2.4.26 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code class="directive"><Else></code> applique
les directives qu'elle contient si et seulement si les conditions
correspondant la section <code class="directive"><If></code>
ou <code class="directive"><ElseIf></code> immdiatement
suprieure et dans la mme porte n'ont pas t satisfaites. Par
exemple, dans :</p>
<pre class="prettyprint lang-config"><If "-z req('Host')">
# ...
</If>
<Else>
# ...
</Else></pre>
<p>La condition de la section <code class="directive"><If></code> serait satisfaite pour les requtes
HTTP/1.0 sans en-tte <var>Host:</var>, alors que celle de la section
<code class="directive"><Else></code> le serait pour les
requtes comportant un en-tte <var>Host:</var>.</p>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#if"><If></a></code></li>
<li><code class="directive"><a href="#elseif"><ElseIf></a></code></li>
<li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
<Files></a> pour une explication de la manire dont ces
diffrentes section se combinent entre elles lorsqu'une requte est
reue. Les directives <code class="directive"><If></code>,
<code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="elseif" id="elseif">Directive</a> <a name="ElseIf" id="ElseIf"><ElseIf></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la
condition correspondante est satisfaite par une requte l'excution,
alors que la condition correspondant la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><ElseIf></code> prcdente ne l'tait pas.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit:</a></th><td>Les conditions imbriques sont supportes partir de la version
2.4.26 du serveur HTTP Apache</td></tr>
</table>
<p>La section <code class="directive"><ElseIf></code> applique
les directives qu'elle contient si et seulement si d'une part la
condition correspondante est satisfaite, et d'autre part la condition
correspondant la section <code class="directive"><If></code>
ou <code class="directive"><ElseIf></code> de la mme porte ne
l'est pas. Par exemple, dans :</p>
<pre class="prettyprint lang-config"><If "-R '10.1.0.0/16'">
#...
</If>
<ElseIf "-R '10.0.0.0/8'">
#...
</ElseIf>
<Else>
#...
</Else></pre>
<p>La condition correspondant la section <code class="directive"><ElseIf></code> est satisfaite si l'adresse
distante de la requte appartient au sous-rseau 10.0.0.0/8, mais
pas si elle appartient au sous-rseau 10.1.0.0/16.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../expr.html">Les expressions dans le serveur HTTP
Apache</a>, pour une rfrence complte et d'autres exemples.</li>
<li><code class="directive"><a href="#if"><If></a></code></li>
<li><code class="directive"><a href="#else"><Else></a></code></li>
<li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
<Files></a> pour une explication de la manire dont ces
diffrentes section se combinent entre elles lorsqu'une requte est
reue. Les directives <code class="directive"><If></code>,
<code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="enablemmap" id="enablemmap">Directive</a> <a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mmoire (Memory-Mapping) pour
lire les fichiers pendant qu'ils sont servis</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Dfaut:</a></th><td><code>EnableMMAP On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Cette directive dfinit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
la projection en mmoire (Memory-Mapping) quand il doit lire le contenu
d'un fichier pendant qu'il est servi. Par dfaut, lorsque le
traitement d'une requte requiert l'accs aux donnes contenues dans
un fichier -- par exemple, pour servir un fichier interprt par le
serveur l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd projette
le fichier en mmoire si le systme d'exploitation le permet.</p>
<p>Cette projection en mmoire induit parfois une amlioration des
performances. Sur certains systmes cependant, il est prfrable de
dsactiver la projection en mmoire afin d'viter certains problmes
oprationnels :</p>
<ul>
<li>Sur certains systmes multi-processeurs, la projection en
mmoire peut dgrader les performances du programme
<code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
<li>S'il fait l'objet d'une projection en mmoire par
<code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
erreur de segmentation.</li>
</ul>
<p>Pour les configurations de serveur sujettes ce genre de
problme, il est prfrable de dsactiver la projection en mmoire
des fichiers servis en spcifiant :</p>
<pre class="prettyprint lang-config">EnableMMAP Off</pre>
<p>Pour les montages NFS, cette fonctionnalit peut tre
explicitement dsactive pour les fichiers concerns en spcifiant
:</p>
<pre class="prettyprint lang-config"><Directory "/path-to-nfs-files">
EnableMMAP Off
</Directory></pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="enablesendfile" id="enablesendfile">Directive</a> <a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
fichiers aux clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Dfaut:</a></th><td><code>EnableSendfile Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit:</a></th><td>Par dfaut Off depuis la version 2.3.9.</td></tr>
</table>
<p>Cette directive dfinit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
peut utiliser le support sendfile du noyau pour transmettre le
contenu des fichiers aux clients. Par dfaut, lorsque le traitement
d'une requte ne requiert pas l'accs aux donnes contenues dans un
fichier -- par exemple, pour la transmission d'un fichier statique
-- Apache httpd utilise sendfile pour transmettre le contenu du fichier
sans mme lire ce dernier, si le systme d'exploitation le
permet.</p>
<p>Ce mcanisme sendfile vite la sparation des oprations de
lecture et d'envoi, ainsi que les rservations de tampons. sur
certains systmes cependant, ou sous certains systmes de fichiers,
il est prfrable de dsactiver cette fonctionnalit afin d'viter
certains problmes oprationnels :</p>
<ul>
<li>Certains systmes peuvent prsenter un support sendfile
dfectueux que le systme de compilation n'a pas dtect, en
particulier si les excutables ont t compils sur une autre
machine, puis copis sur la premire avec un support sendfile
dfectueux.</li>
<li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
la rcupration des paquets de vrification TCP (TCP-checksum) avec
certaines cartes rseau lorsqu'on utilise IPv6.</li>
<li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avrer incapable de
traiter les fichiers de plus de 2 Go.</li>
<li>Avec un montage rseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS,
FUSE), le
noyau peut s'avrer incapable de servir un fichier de ce montage
rseau en passant par son propre cache.</li>
</ul>
<p>Pour les configurations de serveur non sujettes ce genre de
problme, vous pouvez activer cette fonctionnalit en
spcifiant :</p>
<pre class="prettyprint lang-config">EnableSendfile On</pre>
<p>Pour les montages rseau, cette fonctionnalit peut tre
explicitement dsactive pour les fichiers concerns en spcifiant
:</p>
<pre class="prettyprint lang-config"><Directory "/path-to-nfs-files">
EnableSendfile Off
</Directory></pre>
<p>Veuillez noter que la configuration de la directive
<code class="directive">EnableSendfile</code> dans un contexte de rpertoire
ou de fichier .htaccess n'est pas supporte par
<code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. Le module ne prend en compte la
dfinition de <code class="directive">EnableSendfile</code> que dans un
contexte global.
</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="error" id="error">Directive</a> <a name="Error" id="Error">Error</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrompt la lecture de la configuration avec un message
d'erreur personnalis</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Error <var>message</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit:</a></th><td> partir de la version 2.3.9</td></tr>
</table>
<p>Si une erreur peut tre dtecte dans la configuration, souvent
un module manquant, cette
directive peut tre utilise pour gnrer un message d'erreur
personnalis, et interrompre la lecture de la configuration. </p>
<pre class="prettyprint lang-config"># Exemple
# vrification du chargement de mod_include
<IfModule !include_module>
Error "mod_include is required by mod_foo. Load it with LoadModule."
</IfModule>
# vrification de la dfinition de SSL ou (exclusif) NOSSL
<IfDefine SSL>
<IfDefine NOSSL>
Error "Both SSL and NOSSL are defined. Define only one of them."
</IfDefine>
</IfDefine>
<IfDefine !SSL>
<IfDefine !NOSSL>
Error "Either SSL or NOSSL must be defined."
</IfDefine>
</IfDefine></pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="errordocument" id="errordocument">Directive</a> <a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas
d'erreur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Apache httpd peut traiter les problmes et les erreurs de quatre
manires,</p>
<ol>
<li>afficher un simple message d'erreur au contenu fixe</li>
<li>afficher un message personnalis</li>
<li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
le problme ou l'erreur</li>
<li>rediriger vers une <var>URL</var> externe pour traiter
le problme ou l'erreur</li>
</ol>
<p>La premire option constitue le comportement par dfaut; pour
choisir une des trois autres options, il faut configurer Apache
l'aide de la directive <code class="directive">ErrorDocument</code>, suivie
du code de la rponse HTTP et d'une URL ou d'un message. Apache
httpd fournit parfois des informations supplmentaires propos du
problme ou de l'erreur.</p>
<p>A partir de la version 2.4.13, il est possible d'utiliser la <a href="../expr.html">syntaxe des expressions</a> dans cette directive
afin de gnrer des chanes et URLs dynamiques.</p>
<p>Les URLs peuvent commencer par un slash (/) pour les chemins web
locaux (relatifs au rpertoire dfini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se prsenter sous la
forme d'une URL complte que le client pourra rsoudre.
Alternativement, un message afficher par le navigateur pourra tre
fourni. Notez que la dcision de considrer le paramtre comme URL,
chemin ou message intervient avant toute interprtation
d'expression. Exemples :</p>
<pre class="prettyprint lang-config">ErrorDocument 500 http://example.com/cgi-bin/server-error.cgi
ErrorDocument 404 /errors/bad_urls.php
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today"
ErrorDocument 403 Forbidden!
ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}</pre>
<p>De plus, on peut spcifier la valeur spciale <code>default</code>
pour indiquer l'utilisation d'un simple message d'Apache httpd cod en
dur. Bien que non ncessaire dans des circonstances normales, la
spcification de la valeur <code>default</code> va permettre de
rtablir l'utilisation du simple message d'Apache httpd cod en dur pour
les configurations qui sans cela, hriteraient d'une directive
<code class="directive">ErrorDocument</code> existante.</p>
<pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl
<Directory "/web/docs">
ErrorDocument 404 default
</Directory></pre>
<p>Notez que lorsque vous spcifiez une directive
<code class="directive">ErrorDocument</code> pointant vers une URL distante
(c'est dire tout ce qui commence par le prfixe http), le serveur
HTTP Apache va
envoyer une redirection au client afin de lui indiquer o trouver le
document, mme dans le cas o ce document se trouve sur le serveur
local. Ceci a de nombreuses consquences dont la plus importante
rside dans le fait que le client ne recevra pas le code d'erreur
original, mais au contraire un code de statut de redirection. Ceci
peut en retour semer la confusion chez les robots web et divers
clients qui tentent de dterminer la validit d'une URL en examinant
le code de statut. De plus, si vous utilisez une URL distante avec
<code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
demander un mot de passe l'utilisateur car il ne recevra pas le
code de statut 401. C'est pourquoi, <strong>si vous utilisez une
directive <code>ErrorDocument 401</code>, elle devra faire rfrence
un document par le biais d'un chemin local.</strong></p>
<p>Microsoft Internet Explorer (MSIE) ignore par dfaut les messages
d'erreur gnrs par le serveur lorsqu'ils sont trop courts et
remplacent ses propres messages d'erreur "amicaux". Le seuil de
taille varie en fonction du type d'erreur, mais en gnral, si la
taille de votre message d'erreur est suprieure 512 octets, il y a
peu de chances pour que MSIE l'occulte, et il sera affich par ce
dernier. Vous trouverez d'avantage d'informations dans l'article de
la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
<p>Bien que la plupart des messages d'erreur internes originaux
puissent tre remplacs, ceux-ci sont cependant conservs dans
certaines circonstances sans tenir compte de la dfinition de la
directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En
particulier, en cas de dtection d'une requte mal forme, le
processus de traitement normal des requtes est immdiatement
interrompu, et un message d'erreur interne est renvoy, ceci afin de
se prmunir contre les problmes de scurit lis aux requtes mal
formes.</p>
<p>Si vous utilisez mod_proxy, il est en gnral prfrable
d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'tre en
mesure de produire des messages d'erreur personnaliss pour le
compte de votre serveur d'origine. Si vous n'activez pas
ProxyErrorOverride, Apache httpd ne gnrera pas de messages d'erreur
personnaliss pour le contenu mandat.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../custom-error.html">documentation sur la
personnalisation des rponses</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="errorlog" id="errorlog">Directive</a> <a name="ErrorLog" id="ErrorLog">ErrorLog</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dfinition du chemin du journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>file-path</var>|syslog[:[<var>facility</var>][:<var>tag</var>]]</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Dfaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">ErrorLog</code> permet de dfinir le
nom du fichier dans lequel le serveur va journaliser toutes les
erreurs qu'il rencontre. Si le <var>file-path</var> n'est pas
absolu, il est considr comme relatif au chemin dfini par la
directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
<pre class="prettyprint lang-config">ErrorLog "/var/log/httpd/error_log"</pre>
<p>Si le <var>file-path</var> commence par une barre verticale
"<code>(|)</code>", il est considr comme une commande lancer pour traiter la
journalisation de l'erreur.</p>
<pre class="prettyprint lang-config">ErrorLog "|/usr/local/bin/httpd_errors"</pre>
<p>Voir les notes propos des <a href="../logs.html#piped">journaux
redirigs</a> pour plus d'informations.</p>
<p>L'utilisation de <code>syslog</code> la place d'un nom de
fichier active la journalisation via syslogd(8) si le systme le
supporte. Le dispositif syslog par dfaut est <code>local7</code>,
mais vous pouvez le modifier l'aide de la syntaxe
<code>syslog:<var>facility</var></code>, o <var>facility</var> peut
tre remplac par un des noms habituellement documents dans la page
de man syslog(1). Le dispositif syslog <code>local7</code> est
global, et si il est modifi dans un serveur virtuel, le dispositif
final spcifi affecte l'ensemble du serveur. La mme rgle s'applique au
tag syslog qui utilise par dfaut le nom du binaire du serveur HTTP Apache
<code>httpd</code> dans la plupart des cas. Vous pouvez aussi modifier cette
valeur en utilisant la syntaxe <code>syslog::<var>tag</var></code>.</p>
<pre class="prettyprint lang-config">ErrorLog syslog:user
ErrorLog syslog:user:httpd.srv1
ErrorLog syslog::httpd.srv2</pre>
<p>Des modules supplmentaires peuvent fournir leurs propres
fournisseurs ErrorLog. La syntaxe est similaire celle de
l'exemple <code>syslog</code> ci-dessus.</p>
<p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils propos de
scurit</a> pour des dtails sur les raisons pour lesquelles votre
scurit peut tre compromise si le rpertoire contenant les
fichiers journaux prsente des droits en criture pour tout autre
utilisateur que celui sous lequel le serveur est dmarr.</p>
<div class="warning"><h3>Note</h3>
<p>Lors de la spcification d'un chemin de fichier sur les
plates-formes non-Unix, on doit veiller n'utiliser que des
slashes (/), mme si la plate-forme autorise l'utilisation des
anti-slashes (\). Et d'une manire gnrale, il est recommand de
n'utiliser que des slashes (/) dans les fichiers de
configuration.</p>
</div>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
<li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="errorlogformat" id="errorlogformat">Directive</a> <a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spcification du format des entres du journal des erreurs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">ErrorLogFormat</code> permet de
spcifier quelles informations supplmentaires vont tre enregistres
dans le journal des erreurs en plus du message habituel.</p>
<pre class="prettyprint lang-config"># Exemple simple
ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"</pre>
<p>La spcification de <code>connection</code> ou
<code>request</code> comme premier paramtre permet de dfinir des
formats supplmentaires, ce qui a pour effet de journaliser des
informations additionnelles lorsque le premier message est
enregistr respectivement pour une connexion ou une requte
spcifique. Ces informations additionnelles ne sont enregistres
qu'une seule fois par connexion/requte. Si le traitement d'une
connexion ou d'une requte ne gnre aucun message dans le journal,
alors aucune information additionnelle n'est enregistre.</p>
<p>Il peut arriver que certains items de la chane de format ne
produisent aucune sortie. Par exemple, l'en-tte Referer n'est
prsent que si le message du journal est associ une requte et s'il
est gnr un moment o l'en-tte Referer a dj t lu par le
client. Si aucune sortie n'est gnre, le comportement par dfaut
consiste supprimer tout ce qui se trouve entre l'espace prcdent
et le suivant. Ceci implique que la ligne de journalisation est
divise en champs ne contenant pas d'espace spars par des espaces.
Si un item de la chane de format ne gnre aucune sortie,
l'ensemble du champ est omis. Par exemple, si l'adresse distante
<code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
pas disponible, les crochets qui l'entourent ne seront eux-mmes pas
enregistrs. Il est possible d'chapper les espaces par un anti-slash
afin qu'ils ne soient pas considrs comme sparateurs de champs.
La combinaison '% ' (pourcentage espace) est un dlimiteur de
champ de taille nulle qui ne gnre aucune sortie.</p>
<p>Ce comportement peut tre chang en ajoutant des modificateurs
l'item de la chane de format. Le modificateur <code>-</code>
(moins) provoque l'enregistrement d'un signe moins si l'item
considr ne gnre aucune sortie. Pour les formats enregistrement
unique par connexion/requte, il est aussi possible d'utiliser le
modificateur <code>+</code> (plus). Si un item ne gnrant aucune
sortie possde le modificateur plus, la ligne dans son ensemble est
omise.</p>
<p>Un modificateur de type entier permet d'assigner un niveau de
svrit un item de format. L'item considr ne
sera journalis que si la svrit du message n'est pas
plus haute que le niveau de svrit spcifi. Les
valeurs possibles vont de 1 (alert) 15 (trace8), en passant par 4
(warn) ou 7 (debug).</p>
<p>Par exemple, voici ce qui arriverait si vous ajoutiez des
modificateurs l'item <code>%{Referer}i</code> qui enregistre le
contenu de l'en-tte <code>Referer</code>.</p>
<table class="bordered"><tr class="header"><th>Item modifi</th><th>Signification</th></tr>
<tr>
<td><code>%-{Referer}i</code></td>
<td>Enregistre le caractre <code>-</code> si l'en-tte
<code>Referer</code> n'est pas dfini.</td>
</tr>
<tr class="odd">
<td><code>%+{Referer}i</code></td>
<td>N'enregistre rien si l'en-tte
<code>Referer</code> n'est pas dfini.</td>
</tr>
<tr>
<td><code>%4{Referer}i</code></td>
<td>N'enregistre le contenu de l'en-tte <code>Referer</code> que si
la svrit du message de journalisation est suprieure 4.</td>
</tr>
</table>
<p>Certains items de format acceptent des paramtres supplmentaires
entre accolades.</p>
<table class="bordered"><tr class="header"><th>Chane de format</th> <th>Description</th></tr>
<tr><td><code>%%</code></td>
<td>Le signe pourcentage</td></tr>
<tr class="odd"><td><code>%a</code></td>
<td>Adresse IP et port clients</td></tr>
<tr><td><code>%{c}a</code></td>
<td>Port et adresse IP sous-jacents du correspondant pour la
connexion (voir le module
<code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr>
<tr class="odd"><td><code>%A</code></td>
<td>Adresse IP et port locaux</td></tr>
<tr><td><code>%{<em>name</em>}e</code></td>
<td>Variable d'environnement de requte <em>name</em></td></tr>
<tr class="odd"><td><code>%E</code></td>
<td>Etat d'erreur APR/OS et chane</td></tr>
<tr><td><code>%F</code></td>
<td>Nom du fichier source et numro de ligne de l'appel du
journal</td></tr>
<tr class="odd"><td><code>%{<em>name</em>}i</code></td>
<td>En-tte de requte <em>name</em></td></tr>
<tr><td><code>%k</code></td>
<td>Nombre de requtes persistantes pour cette connexion</td></tr>
<tr class="odd"><td><code>%l</code></td>
<td>Svrit du message</td></tr>
<tr><td><code>%L</code></td>
<td>Identifiant journal de la requte</td></tr>
<tr class="odd"><td><code>%{c}L</code></td>
<td>Identifiant journal de la connexion</td></tr>
<tr><td><code>%{C}L</code></td>
<td>Identifiant journal de la connexion si utilis dans la
porte de la connexion, vide sinon</td></tr>
<tr class="odd"><td><code>%m</code></td>
<td>Nom du module qui effectue la journalisation du message</td></tr>
<tr><td><code>%M</code></td>
<td>Le message effectif</td></tr>
<tr class="odd"><td><code>%{<em>name</em>}n</code></td>
<td>Note de requte <em>name</em></td></tr>
<tr><td><code>%P</code></td>
<td>Identifiant du processus courant</td></tr>
<tr class="odd"><td><code>%T</code></td>
<td>Identifiant du thread courant</td></tr>
<tr><td><code>%{g}T</code></td>
<td>Identifiant unique de thread systme du thread courant
(l'identifiant affich par la commande <code>top</code> par
exemple ; seulement sous Linux pour l'instant)</td></tr>
<tr class="odd"><td><code>%t</code></td>
<td>L'heure courante</td></tr>
<tr><td><code>%{u}t</code></td>
<td>L'heure courante avec les microsecondes</td></tr>
<tr class="odd"><td><code>%{cu}t</code></td>
<td>L'heure courante au format compact ISO 8601, avec les
microsecondes</td></tr>
<tr><td><code>%v</code></td>
<td>Le nom de serveur canonique <code class="directive"><a href="#servername">ServerName</a></code> du serveur courant.</td></tr>
<tr class="odd"><td><code>%V</code></td>
<td>Le nom de serveur du serveur qui sert la requte en accord
avec la dfinition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
<tr><td><code>\ </code> (anti-slash espace)</td>
<td>Espace non dlimiteur</td></tr>
<tr class="odd"><td><code>% </code> (pourcentage espace)</td>
<td>Dlimiteur de champ (aucune sortie)</td></tr>
</table>
<p>L'item de format identifiant journal <code>%L</code> gnre un
identifiant unique pour une connexion ou une requte. Il peut servir
dterminer quelles lignes correspondent la mme connexion ou
requte ou quelle requte est associe tel connexion. Un item de
format <code>%L</code> est aussi disponible dans le module
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, mais il permet dans ce contexte de
corrler les entres du journal des accs avec celles du journal des
erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est charg,
c'est son identifiant unique qui sera utilis comme identifiant de
journal pour les requtes.</p>
<pre class="prettyprint lang-config"># Exemple (format par dfaut pour les MPMs threads)
ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M%,\referer\%{Referer}i"</pre>
<p>Cet exemple renverrait un message d'erreur du style :</p>
<div class="example"><p><code>
[Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico
</code></p></div>
<p>Notez que, comme indiqu plus haut, certains champs sont
totalement supprims s'ils n'ont pas t dfinis.</p>
<pre class="prettyprint lang-config"># Exemple (similaire au format 2.2.x)
ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M%,\referer\%{Referer}i"</pre>
<pre class="prettyprint lang-config"># Exemple avanc avec identifiants journal de requte/connexion
ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"</pre>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li>
<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
<li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="extendedstatus" id="extendedstatus">Directive</a> <a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'tat tendues pour chaque
requte</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtendedStatus On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Dfaut:</a></th><td><code>ExtendedStatus Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>Cette option permet d'extraire des donnes supplmentaires
concernant la requte en cours de traitement pour un processus
donn, et cre un rsum d'utilisation ; vous pouvez accder
ces variables pendant l'excution en configurant
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Notez que d'autres modules sont
susceptibles de s'appuyer sur ce tableau de bord.</p>
<p>Cette directive s'applique au serveur dans son ensemble, et ne
peut pas tre active/dsactive pour un serveur virtuel
particulier. Notez que l'extraction des informations d'tat tendues
peut ralentir le serveur. Notez aussi que cette dfinition ne peut
pas tre modifie au cours d'un redmarrage graceful.</p>
<div class="note">
<p>Notez que le chargement de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> dfinit
automatiquement ExtendedStatus On, et que d'autres modules tiers
sont susceptibles d'en faire de mme. De tels modules ont besoin
d'informations dtailles propos de l'tat de tous les processus.
Depuis la version 2.3.6, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a dfinit la
valeur par dfaut On, alors qu'elle tait Off dans les versions
antrieures.</p>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="fileetag" id="fileetag">Directive</a> <a name="FileETag" id="FileETag">FileETag</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractristiques de fichier utilises lors de la gnration
de l'en-tte de rponse HTTP ETag pour les fichiers statiques</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Dfaut:</a></th><td><code>FileETag MTime Size</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit:</a></th><td>La valeur par dfaut tait "INode MTime Size"
dans les versions 2.3.14 et antrieures.</td></tr>
</table>
<p>
La directive <code class="directive">FileETag</code> dfinit les
caractristiques de fichier utilises lors de la gnration de
l'en-tte de rponse HTTP <code>ETag</code> (entity tag) quand le
document est contenu dans un fichier statique(la valeur de
<code>ETag</code>
est utilise dans le cadre de la gestion du cache pour prserver la
bande passante rseau). La directive
<code class="directive">FileETag</code> vous permet maintenant de choisir
quelles caractristiques du fichier vont tre utilises, le cas
chant. Les mots-cls reconnus sont :
</p>
<dl>
<dt><strong>INode</strong></dt>
<dd>Le numro d'i-node du fichier sera inclus dans le processus de
gnration</dd>
<dt><strong>MTime</strong></dt>
<dd>La date et l'heure auxquelles le fichier a t modifi la
dernire fois seront incluses</dd>
<dt><strong>Size</strong></dt>
<dd>La taille du fichier en octets sera incluse</dd>
<dt><strong>All</strong></dt>
<dd>Tous les champs disponibles seront utiliss. Cette dfinition
est quivalente :
<pre class="prettyprint lang-config">FileETag INode MTime Size</pre>
</dd>
<dt><strong>None</strong></dt>
<dd>Si le document se compose d'un fichier, aucun champ
<code>ETag</code> ne sera inclus dans la rponse</dd>
</dl>
<p>Les mots-cls <code>INode</code>, <code>MTime</code>, et
<code>Size</code> peuvent tre prfixs par <code>+</code> ou
<code>-</code>, ce qui permet de modifier les valeurs par dfaut
hrites d'un niveau de configuration plus gnral. Tout mot-cl
apparaissant sans aucun prfixe annule entirement et immdiatement
les configurations hrites.</p>
<p>Si la configuration d'un rpertoire contient
<code>FileETag INode MTime Size</code>, et si un de
ses sous-rpertoires contient <code>FileETag -INode</code>, la
configuration de ce sous-rpertoire (qui sera propage vers tout
sous-rpertoire qui ne la supplante pas), sera quivalente
<code>FileETag MTime Size</code>.</p>
<div class="warning"><h3>Avertissement</h3>
Ne modifiez pas les valeurs par dfaut pour les rpertoires ou
localisations o WebDAV est activ et qui utilisent
<code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage.
<code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise
<code>MTime Size</code> comme format fixe pour les
comparaisons de champs <code>ETag</code> dans les requtes
conditionnelles. Ces requtes conditionnelles choueront si le
format <code>ETag</code> est modifi via la directive
<code class="directive">FileETag</code>.
</div>
<div class="note"><h3>Inclusions ct serveur</h3>
Aucun champ ETag n'est gnr pour les rponses interprtes par
<code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entit de la rponse peut
changer sans modification de l'INode, du MTime, ou de la taille du
fichier statique contenant les directives SSI.
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="files" id="files">Directive</a> <a name="Files" id="Files"><Files></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers
prciss</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive"><Files></code> limite
la porte des directives qu'elle contient aux fichiers prciss.
Elle est comparable aux directives <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>. Elle doit se terminer par une
balise <code></Files></code>. Les directives contenues dans
cette section s'appliqueront tout objet dont le nom de base (la
dernire partie du nom de fichier) correspond au fichier spcifi.
Les sections <code class="directive"><Files></code> sont
traites selon l'ordre dans lequel elles apparaissent dans le
fichier de configuration, aprs les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers
<code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les
sections <code class="directive"><Files></code> peuvent tre
imbriques dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion
du systme de fichiers laquelle ces dernires vont
s'appliquer.</p>
<p>L'argument <var>filename</var> peut contenir un nom de fichier
ou une chane de caractres avec caractres gnriques, o
<code>?</code> remplace un caractre, et <code>*</code> toute chane
de caractres.</p>
<pre class="prettyprint lang-config"><Files "cat.html">
# Insrer ici des directives qui s'appliquent au fichier cat.html
</Files>
<Files "?at.*">
# Les directives insres ici s'appliqueront aux fichiers
# cat.html, bat.html, hat.php, et ainsi de suite.
</Files></pre>
<p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la
caractre <code>~</code>. Par exemple :</p>
<pre class="prettyprint lang-config"><Files ~ "\.(gif|jpe?g|png)$">
#...
</Files></pre>
<p>correspondrait la plupart des formats graphiques de l'Internet.
Il est cependant prfrable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p>
<p>Notez qu' la diffrence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent tre utilises dans les
fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
contrler l'accs leurs propres ressources, fichier par
fichier.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
explication de la manire dont ces diffrentes sections se combinent
entre elles la rception d'une requte</li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="filesmatch" id="filesmatch">Directive</a> <a name="FilesMatch" id="FilesMatch"><FilesMatch></a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent des fichiers
spcifis sous la forme d'expressions rationnelles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ...
</FilesMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La section <code class="directive"><FilesMatch></code>
limite la porte des directives qu'elle contient aux fichiers
spcifis, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
exemple :</p>
<pre class="prettyprint lang-config"><FilesMatch ".+\.(gif|jpe?g|png)$">
# ...
</FilesMatch></pre>
<p>correspondrait la plupart des formats graphiques de
l'Internet.</p>
<div class="note">Les caractres <code>.+</code> au dbut de l'expression
rationnelle permettent de s'assurer que les fichiers de nom
<code>.png</code>, ou <code>.gif</code>, par exemple, ne seront pas
pris en compte.</div>
<p>A partir de la version 2.4.8, les groupes nomms et les
rfrences arrires sont extraits et enregistrs dans
l'environnement avec leur nom en majuscules et prfix