1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 1678565 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- $LastChangedRevision: 2015053001 $ -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <modulesynopsis metafile="mod_mime.xml.meta">
28 <description>Associe les extensions des fichiers demandés avec l'action
29 déclenchée par ces fichiers et avec leur contenu (type MIME, langage,
30 jeu de caractère et codage)</description>
32 <sourcefile>mod_mime.c</sourcefile>
33 <identifier>mime_module</identifier>
36 <p>Ce module permet d'assigner des métadonnées aux contenus
37 sélectionnés pour une réponse HTTP, en associant des modèles d'URI
38 ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les
39 extensions de noms de fichiers définissent souvent le type de médium
40 Internet, le langage, le jeu de caractères et le codage du contenu.
41 Ces informations sont relayées par les messages HTTP véhiculant ces
42 contenus, et utilisées au cours de la négociation de contenu lors de
43 la sélection des différentes possibilités, de manière à ce que les
44 préférences des utilisateurs soient respectées lors du choix d'un
45 contenu à servir parmi plusieurs autres contenus. Voir
46 <module>mod_negotiation</module> pour plus d'informations à propos
47 de la <a href="../content-negotiation.html">négociation de
50 <p>Les directives <directive
51 module="mod_mime">AddCharset</directive>, <directive
52 module="mod_mime">AddEncoding</directive>, <directive
53 module="mod_mime">AddLanguage</directive> et <directive
54 module="mod_mime">AddType</directive> permettent d'associer des
55 extensions de fichiers aux métadonnées de ces fichiers. Elles
56 définissent respectivement le jeu de caractères, le codage du
57 contenu, le langage du contenu et le <glossary>type de
58 médium</glossary> (content-type) des documents. La directive
59 <directive module="mod_mime">TypesConfig</directive> permet de
60 spécifier un fichier qui contient lui-même des associations entre
61 extensions et types de media.</p>
63 <p>De plus, <module>mod_mime</module> peut définir le <a
64 href="../handler.html">gestionnaire</a> et les <a
65 href="../filter.html">filtres</a> qui sont à l'origine du contenu et
66 le traitent. Les directives <directive
67 module="mod_mime">AddHandler</directive>, <directive
68 module="mod_mime">AddOutputFilter</directive>, et <directive
69 module="mod_mime">AddInputFilter</directive> permettent de contrôler
70 les modules ou les scripts qui vont servir le document. La directive
71 <directive module="mod_mime">MultiviewsMatch</directive> permet à
72 <module>mod_negotiation</module> de déterminer les extensions de
73 fichiers à inclure lors des tests de correspondances multivues.</p>
75 <p>Alors que <module>mod_mime</module> associe des métadonnées avec
76 des extensions de fichiers, le serveur de base <module>core</module>
77 fournit des directives permettant d'associer tous les fichiers d'un
78 conteneur donné (par exemple <directive type="section"
79 module="core">Location</directive>, <directive type="section"
80 module="core">Directory</directive>, ou <directive type="section"
81 module="core">Files</directive>) avec des métadonnées particulières.
82 Parmi ces directives, on trouve <directive
83 module="core">ForceType</directive>, <directive
84 module="core">SetHandler</directive>, <directive
85 module="core">SetInputFilter</directive>, et <directive
86 module="core">SetOutputFilter</directive>. Les directives du serveur
87 de base l'emportent sur toute directive d'association d'extensions
88 de noms de fichiers définie par <module>mod_mime</module>.</p>
90 <p>Notez que la modification des métadonnées d'un fichier ne modifie
91 pas la valeur de l'en-tête <code>Last-Modified</code>. Ainsi,
92 certaines copies de documents préalablement mises en cache peuvent
93 encore être utilisées par un client ou un mandataire avec les
94 anciens en-têtes. Si vous modifiez les métadonnées (langage, type de
95 contenu, jeu de caractère ou codage), vous devez donc enregistrer
96 une modification du fichier concerné (afin de mettre à jour sa date
97 de dernière modification), pour être sûr que tous les visiteurs
98 recevront le documents avec les en-têtes corrects. </p>
101 module="mod_mime_magic">MimeMagicFile</directive></seealso>
102 <seealso><directive module="core">AddDefaultCharset</directive></seealso>
103 <seealso><directive module="core">ForceType</directive></seealso>
104 <seealso><directive module="core">SetHandler</directive></seealso>
105 <seealso><directive module="core">SetInputFilter</directive></seealso>
106 <seealso><directive module="core">SetOutputFilter</directive></seealso>
108 <section id="multipleext"><title>Fichiers avec extensions
110 <p>Les fichiers peuvent posséder plusieurs extensions dont l'ordre
111 est <em>normalement</em> sans importance. Par exemple, si
112 le fichier <code>welcome.html.fr</code> est associé au type de
113 contenu <code>text/html</code> et au langage Français, le fichier
114 <code>welcome.fr.html</code> possèdera exactement les même
115 métadonnées. Si le fichier possède plusieurs extensions associées
116 au même type de métadonnée, c'est celle de ces extensions la plus à
117 droite qui sera utilisée, excepté pour ce qui concerne les langages
118 et les codages de contenu. Par exemple, si <code>.gif</code> est
119 associé au <glossary>type de médium</glossary>
120 <code>image/gif</code>, et <code>.html</code> au type de médium
121 <code>text/html</code>, le fichier <code>welcome.gif.html</code>
122 sera associé au type de médium <code>text/html</code>.</p>
124 <p>Les <a href="#charset-lang">Languages</a> et les <a
125 href="#contentencoding">codages de contenu</a> sont traités de
126 manière cumulative, car il est possible d'assigner plusieurs
127 langages ou codages à une ressource particulière. Par exemple, le
128 fichier <code>welcome.html.en.de</code> sera servi avec les en-têtes
129 <code>Content-Language: en, de</code> et <code>Content-Type:
130 text/html</code>.</p>
132 <p>Des précautions doivent être prises lorsqu'un fichier avec
133 extensions multiples est associé à la fois à un <glossary>type de
134 médium</glossary> et à un gestionnaire. En général, cela impliquera
135 la gestion de la requête par le module associé au gestionnaire. Par
136 exemple, si l'extension <code>.imap</code> est associée au
137 gestionnaire <code>imap-file</code> (du module
138 <module>mod_imagemap</module>), et si l'extension <code>.html</code>
139 est associée au type de médium <code>text/html</code>, le fichier
140 <code>world.imap.html</code> sera à la fois associé au gestionnaire
141 <code>imap-file</code> et au type de médium <code>text/html</code>.
142 Pour son traitement, c'est le gestionnaire <code>imap-file</code>
143 qui sera utilisé, et il sera donc traité en tant que fichier
146 <p>Si vous préférez que seule la dernière partie d'un nom de fichier
147 séparée du reste du nom par un point soit associée à une métadonnée
148 particulière, n'utilisez pas les directives <code>Add*</code>. Par
149 exemple, si vous souhaitez que le fichier <code>foo.html.cgi</code>
150 soit traité en tant que script CGI, mais pas le fichier
151 <code>bar.cgi.html</code>, alors, au lieu d'utiliser
152 <code>AddHandler cgi-script .cgi</code>, utilisez plutôt :</p>
154 <example><title>Configuration du gestionnaire en se basant seulement
155 sur la dernière extension</title>
156 <highlight language="config">
157 <FilesMatch "[^.]+\.cgi$">
158 SetHandler cgi-script
165 <section id="contentencoding"><title>Codage du contenu</title>
166 <p>Un fichier d'un <glossary>type de médium</glossary> particulier
167 peut être aussi codé d'une certaine manière pour simplifier sa
168 transmission sur Internet. Alors que cela concerne en général la
169 compression, comme <code>gzip</code>, il peut aussi s'agir de
170 chiffrement, comme <code>pgp</code> ou d'un codage comme UUencoding,
171 qui est conçu pour transmettre un fichier binaire sous un format
174 <p>La <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC
175 HTTP/1.1</a>, section 14.11 stipule à ce titre :</p>
177 <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt">
178 <p>Le champ d'en-tête Content-Encoding de l'entité est utilisé en
179 tant que modificateur du type de médium. Lorsqu'il est présent, sa
180 valeur indique quels codages de contenu additionnels ont été
181 appliqués au corps de l'entité, et ainsi quels mécanismes de
182 décodage doivent être appliqués afin de retrouver le type de
183 médium référencé par le champ d'en-tête Content-Type. Le codage de
184 contenu est principalement utilisé pour permettre la compression
185 d'un document sans perdre l'information concernant le type de
186 médium sous-jacent.</p>
189 <p>En utilisant plusieurs extensions (voir la <a
190 href="#multipleext">section ci-dessus à propos des extensions de
191 fichiers multiples</a>), vous pouvez indiquer qu'un fichier est d'un
192 <em>type</em>, particulier, et possède aussi un <em>codage</em>
195 <p>Considérons par exemple un fichier contenant un document
196 Microsoft Word et compressé par pkzip pour réduire sa taille. Si
197 l'extension <code>.doc</code> est associée au type de fichier
198 Microsoft Word, et si l'extension <code>.zip</code> est associée au
199 codage de fichier pkzip, alors le fichier
200 <code>Resume.doc.zip</code> sera identifié comme document Word
201 compressé par pkzip.</p>
203 <p>Apache joint un en-tête <code>Content-encoding</code> à la
204 ressource afin d'informer le navigateur client à propos de la
205 méthode de codage.</p>
207 <highlight language="config">Content-encoding: pkzip</highlight>
210 <section id="charset-lang"><title>Jeux de caractères et langages</title>
211 <p>En plus du type de fichier et du codage, un autre élément
212 important d'information est le langage dans lequel le document est
213 écrit, et avec quel jeu de caractères le contenu du fichier doit
214 être affiché. Par exemple, un document peut être écrit en alphabet
215 vietnamien ou cyrillique, et doit être affiché en conséquence. Cette
216 information est aussi transmise via des en-têtes HTTP.</p>
218 <p>Les jeu de caractères, langage, codage et type MIME sont tous
219 utilisés au cours du processus de négociation de contenu (voir
220 <module>mod_negotiation</module>) afin de déterminer quel document
221 servir au client, lorsque plusieurs choix sont possibles en fonction
222 du jeu de caractères, du langage, du codage ou du type MIME. Toutes
223 les associations d'extensions de noms de fichiers créées via les
224 directives <directive module="mod_mime">AddCharset</directive>,
225 <directive module="mod_mime">AddEncoding</directive>, <directive
226 module="mod_mime">AddLanguage</directive> et <directive
227 module="mod_mime">AddType</directive> (ainsi que les associations
228 d'extensions listées dans le fichier défini par la directive
229 <directive module="mod_mime_magic">MimeMagicFile</directive>),
230 participent à ce processus de sélection. Les extensions de noms de
231 fichiers qui n'ont été associés que par des directives <directive
232 module="mod_mime">AddHandler</directive>, <directive
233 module="mod_mime" >AddInputFilter</directive> ou <directive
234 module="mod_mime">AddOutputFilter</directive>, peuvent être incluses
235 ou exclues du processus de sélection en utilisant la directive
236 <directive module="mod_mime">MultiviewsMatch</directive>.</p>
238 <section id="charset"><title>Jeu de caractères</title>
239 <p>Pour transmettre cette information supplémentaire, Apache peut
240 ajouter un en-tête <code>Content-Language</code>, afin de
241 spécifier le langage dans lequel le document est écrit, et peut
242 ajouter des informations additionnelles à l'en-tête
243 <code>Content-Type</code> pour indiquer le jeu de caractères
244 particulier qui doit être utilisé pour restituer correctement le
248 Content-Language: en, fr
249 Content-Type: text/plain; charset=ISO-8859-1
252 <p>Le langage est spécifié via son abréviation en deux lettres. Le
253 <code>jeu de caractères</code> est le nom du jeu de caractères
254 particulier qui doit être utilisé.</p>
259 <name>AddCharset</name>
260 <description>Associe les extensions de noms de fichiers spécifiées au
261 jeu de caractères spécifié</description>
262 <syntax>AddCharset <var>jeu-car</var> <var>extension</var>
263 [<var>extension</var>] ...</syntax>
264 <contextlist><context>server config</context><context>virtual host</context>
265 <context>directory</context><context>.htaccess</context></contextlist>
266 <override>FileInfo</override>
269 <p>La directive <directive>AddCharset</directive> permet d'associer
270 les extensions de noms de fichiers spécifiées au jeu de caractères
271 spécifié (le nom enregistré sur l'Internet d'un codage de caractères
272 donné). <var>jeu-car</var> est le <a
273 href="http://www.iana.org/assignments/character-sets">paramètre jeu
274 de caractères du type de médium</a> pour les ressources dont le nom
275 de fichier contient <var>extension</var>. Cette association est
276 ajoutée à toutes les autres déjà en vigueur, et écrase toute
277 association préexistante pour la même <var>extension</var>.</p>
279 <example><title>Exemple</title>
280 <highlight language="config">
282 AddCharset EUC-JP .euc
283 AddCharset ISO-2022-JP .jis
284 AddCharset SHIFT_JIS .sjis
288 <p>Avec cet exemple, le document <code>xxxx.ja.jis</code> sera
289 traité en tant que document japonais dont le jeu de caractère est
290 <code>ISO-2022-JP</code> (idem pour le document
291 <code>xxxx.jis.ja</code>). La directive
292 <directive>AddCharset</directive> sert à la fois à informer le
293 client sur le codage des caractères du document afin que ce dernier
294 puisse être interprété et affiché correctement, et à la <a
295 href="../content-negotiation.html">négociation de contenu</a>, au
296 cours de laquelle le serveur décide lequels parmi plusieurs
297 documents possibles il renvoie au client en fonction des préférences
298 de ce dernier en matière de jeu de caractères.</p>
300 <p>L'argument <var>extension</var> est insensible à la casse et peut
301 être spécifié avec ou sans le point initial. Les noms de fichiers
302 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
303 l'argument <var>extension</var> sera comparé à chacune d'entre
307 <seealso><module>mod_negotiation</module></seealso>
308 <seealso><directive module="core">AddDefaultCharset</directive></seealso>
312 <name>AddEncoding</name>
313 <description>Associe les extensions de noms de fichiers données au type
314 de codage spécifié</description>
315 <syntax>AddEncoding <var>codage</var> <var>extension</var>
316 [<var>extension</var>] ...</syntax>
317 <contextlist><context>server config</context><context>virtual host</context>
318 <context>directory</context><context>.htaccess</context></contextlist>
319 <override>FileInfo</override>
322 <p>La directive <directive>AddEncoding</directive> permet d'associer
323 les extensions de noms de fichiers données au codage de contenu HTTP
324 spécifié. <var>codage</var> est le codage de contenu HTTP à ajouter
325 à la valeur du champ d'en-tête Content-Encoding pour les documents
326 possédant l'<var>extension</var> spécifiée. Cette association est
327 ajoutée à toutes les autres déjà en vigueur, et écrase toute
328 association préexistante pour la même <var>extension</var>.</p>
330 <example><title>Exemple</title>
331 <highlight language="config">
332 AddEncoding x-gzip .gz
333 AddEncoding x-compress .Z
337 <p>Avec cet exemple, les noms de fichiers possédant l'extension
338 <code>.gz</code> seront marqués comme codés à l'aide du codage
339 <code>x-gzip</code>, et les noms de fichiers possédant l'extension
340 <code>.Z</code> comme codés avec <code>x-compress</code>.</p>
342 <p>Les clients anciens n'acceptent que <code>x-gzip</code> et
343 <code>x-compress</code>, bien que les standards stipulent qu'ils
344 sont respectivement équivalents à <code>gzip</code> et
345 <code>compress</code>. Apache effectue ses comparaisons de codages
346 de contenu en ignorant tout préfixe <code>x-</code>. Lorsqu'il
347 répond avec un codage, Apache utilise l'une ou l'autre forme (c'est
348 à dire <code>x-foo</code> ou <code>foo</code>) selon les besoins du
349 client. Si le client n'a pas besoin d'une forme particulière, Apache
350 utilisera la forme employée par la directive
351 <code>AddEncoding</code>. Pour résumer, vous devez toujours utiliser
352 <code>x-gzip</code> et <code>x-compress</code> pour ces deux
353 codages spécifiques. Certains codages plus récents, comme
354 <code>deflate</code>, doivent être spécifiés sans le préfixe
357 <p>L'argument <var>extension</var> est insensible à la casse et peut
358 être spécifié avec ou sans le point initial. Les noms de fichiers
359 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
360 l'argument <var>extension</var> sera comparé à chacune d'entre
366 <name>AddHandler</name>
367 <description>Associe les extensions de noms de fichiers données au
368 gestionnaire spécifié</description>
369 <syntax>AddHandler <var>nom-gestionnaire</var> <var>extension</var>
370 [<var>extension</var>] ...</syntax>
371 <contextlist><context>server config</context><context>virtual host</context>
372 <context>directory</context><context>.htaccess</context></contextlist>
373 <override>FileInfo</override>
376 <p>Les fichiers dont le nom a pour extension <var>extension</var>
377 seront servis par le <var><a
378 href="../handler.html">nom-gestionnaire</a></var> spécifié. Cette
379 association est ajoutée à toutes les autres déjà en vigueur, et
380 écrase toute association préexistante pour la même
381 <var>extension</var>. Par exemple, pour associer les scripts CGI
382 avec l'extension de fichier <code>.cgi</code>, vous pouvez utiliser
385 <highlight language="config">
386 AddHandler cgi-script .cgi
389 <p>Une fois cette ligne insérée dans votre fichier httpd.conf, tout
390 fichier possédant l'extension <code>.cgi</code> sera traité en tant
391 que programme CGI.</p>
393 <p>L'argument <var>extension</var> est insensible à la casse et peut
394 être spécifié avec ou sans le point initial. Les noms de fichiers
395 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
396 l'argument <var>extension</var> sera comparé à chacune d'entre
399 <seealso><directive module="core">SetHandler</directive></seealso>
403 <name>AddInputFilter</name>
404 <description>Associe les extensions de noms de fichiers aux
405 filtres spécifiés qui traiteront les requêtes clients</description>
406 <syntax>AddInputFilter <var>filtre</var>[;<var>filtre</var>...]
407 <var>extension</var> [<var>extension</var>] ...</syntax>
408 <contextlist><context>server config</context><context>virtual host</context>
409 <context>directory</context><context>.htaccess</context></contextlist>
410 <override>FileInfo</override>
413 <p>La directive <directive>AddInputFilter</directive> permet
414 d'associer l'extension de nom de fichier <var>extension</var> aux <a
415 href="../filter.html">filtres</a> spécifiésqui traiteront les
416 requêtes clients et les entrées POST à leur réception par le
417 serveur. Ceci s'ajoute à toute définition de filtre préexistante, y
418 compris la directive <directive
419 module="core">SetInputFilter</directive>. Cette
420 association est ajoutée à toutes les autres déjà en vigueur, et
421 écrase toute association préexistante pour la même
422 <var>extension</var>.</p>
424 <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être
425 séparés par des points-virgules et inscrits dans l'ordre selon
426 lequel ils devront traiter le contenu. L'argument <var>filtre</var>
427 est insensible à la casse.</p>
429 <p>L'argument <var>extension</var> est insensible à la casse et peut
430 être spécifié avec ou sans le point initial. Les noms de fichiers
431 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
432 l'argument <var>extension</var> sera comparé à chacune d'entre
436 <seealso><directive module="mod_mime">RemoveInputFilter</directive></seealso>
437 <seealso><directive module="core">SetInputFilter</directive></seealso>
441 <name>AddLanguage</name>
442 <description>Associe l'extension de nom de fichier donnée au langage
443 spécifié</description>
444 <syntax>AddLanguage <var>symbole-langage</var> <var>extension</var>
445 [<var>extension</var>] ...</syntax>
446 <contextlist><context>server config</context><context>virtual host</context>
447 <context>directory</context><context>.htaccess</context></contextlist>
448 <override>FileInfo</override>
451 <p>La directive <directive>AddLanguage</directive> permet d'associer
452 l'extension de nom de fichier donnée au langage spécifié. Les
453 fichiers dont l'extension correspond à la valeur
454 de l'argument <var>extension</var> se voient attribuer la valeur de
455 l'argument <var>symbole-langage</var> comme en-tête HTTP
456 Content-Language en accord avec les identifiants de langages définis
457 par la RFC 3066. Cette directive l'emporte sur toute association
458 préexistante pour la même <var>extension</var>.</p>
460 <example><title>Exemple</title>
461 <highlight language="config">
462 AddEncoding x-compress .Z
468 <p>Avec cet exemple, le document <code>xxxx.en.Z</code> sera traité
469 en tant que document compressé de langue anglaise (idem pour le
470 document <code>xxxx.Z.en</code>). Bien que le langage soit fourni au
471 client, le navigateur n'utilise habituellement pas cette
472 information. La directive <directive>AddLanguage</directive> est
473 principalement utilisée au cours de la <a
474 href="../content-negotiation.html">négociation de contenu</a>, où le
475 serveur choisit d'envoyer un document parmi plusieurs documents
476 possibles en fonction de la préférence du client en matière de
479 <p>Si une extension fait l'objet de plusieurs associations de
480 langages, c'est la dernière qui sera utilisée. Ainsi, dans le cas
483 <highlight language="config">
485 AddLanguage en-gb .en
486 AddLanguage en-us .en
489 <p>les documents possédant l'extension <code>.en</code> seront
490 traités en tant que documents de langage <code>en-us</code>.</p>
492 <p>L'argument <var>extension</var> est insensible à la casse et peut
493 être spécifié avec ou sans le point initial. Les noms de fichiers
494 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
495 l'argument <var>extension</var> sera comparé à chacune d'entre
498 <seealso><module>mod_negotiation</module></seealso>
502 <name>AddOutputFilter</name>
503 <description>Associe les extensions de noms de fichiers aux
504 filtres spécifiés qui traiteront les réponses en provenance du
505 serveur</description>
506 <syntax>AddOutputFilter <var>filtre</var>[;<var>filtre</var>...]
507 <var>extension</var> [<var>extension</var>] ...</syntax>
508 <contextlist><context>server config</context><context>virtual host</context>
509 <context>directory</context><context>.htaccess</context></contextlist>
510 <override>FileInfo</override>
513 <p>La directive <directive>AddOutputFilter</directive> permet
514 d'associer l'extension de nom de fichier définie par l'argument
515 <var>extension</var> aux <a
516 href="../filter.html">filtres</a> qui traiteront les réponses en
517 provenance du serveur avant de les envoyer au client. Ces filtres
518 s'ajoutent à tout filtre défini par d'autres directives comme
519 <directive module="core">SetOutputFilter</directive> et <directive
520 module="mod_filter">AddOutputFilterByType</directive>. Cette association
521 est fusionnée avec toute autre association en vigueur, et l'emporte
522 sur toute association préexistante pour la même
523 <var>extension</var>.</p>
525 <p>Avec l'exemple suivant, tous les fichiers <code>.shtml</code>
526 seront traités en tant qu'inclusions côté serveur (SSI), et la
527 sortie sera compressée à l'aide du module
528 <module>mod_deflate</module>.</p>
530 <highlight language="config">
531 AddOutputFilter INCLUDES;DEFLATE shtml
534 <p>Si plusieurs <var>filtres</var> sont spécifiés, ils doivent être
535 séparés par des points-virgules et inscrits dans l'ordre selon
536 lequel il devront traiter le contenu. L'argument <var>filtre</var>
537 est insensible à la casse.</p>
539 <p>L'argument <var>extension</var> est insensible à la casse et peut
540 être spécifié avec ou sans le point initial. Les noms de fichiers
541 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
542 l'argument <var>extension</var> sera comparé à chacune d'entre
545 <p>Notez que toute définition de filtres via la directive <directive
546 module="mod_mime">AddOutputFilter</directive> remplace toutes les
547 définitions précédentes effectuées via cette même directive.</p>
549 <highlight language="config">
550 # Filtre spécifié "DEFLATE"
551 AddOutputFilter DEFLATE shtml
552 <Location "/foo">
553 # Filtre spécifié "INCLUDES", remplace "DEFLATE"
554 AddOutputFilter INCLUDES shtml
556 <Location "/bar">
557 # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE"
558 AddOutputFilter INCLUDES;DEFLATE shtml
560 <Location "/bar/baz">
561 # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE"
562 AddOutputFilter BUFFER shtml
564 <Location "/bar/baz/buz">
565 # Pas de filtre spécifié, suppression de "BUFFER"
566 RemoveOutputFilter shtml
570 <seealso><directive module="mod_mime">RemoveOutputFilter</directive></seealso>
571 <seealso><directive module="core">SetOutputFilter</directive></seealso>
576 <description>Associe les extensions de noms de fichiers au type de
577 contenu spécifié</description>
578 <syntax>AddType <var>type-médium</var> <var>extension</var>
579 [<var>extension</var>] ...</syntax>
580 <contextlist><context>server config</context><context>virtual host</context>
581 <context>directory</context><context>.htaccess</context></contextlist>
582 <override>FileInfo</override>
585 <p>La directive <directive>AddType</directive> permet d'associer les
586 extensions de noms fichiers données au type de contenu spécifié.
587 <var>type-médium</var> est le <glossary ref="media-type">Type
588 MIME</glossary> à utiliser pour les fichiers dont le nom possède
589 l'extension <var>extension</var>. Cette association s'ajoute à toute
590 autre association en vigueur, et l'emporte sur toute association
591 préexistante pour la même <var>extension</var>.</p>
594 Plutôt que d'éditer directement le fichier <directive
595 module="mod_mime">TypesConfig</directive>, il est recommandé
596 d'utiliser la directive <directive>AddType</directive> pour
597 ajouter de nouveaux types de médias.
600 <example><title>Exemple</title>
601 <highlight language="config">
602 AddType image/gif .gif
606 <p>Ou, pour spécifier plusieurs extensions dans une seule directive
609 <example><title>Exemple</title>
610 <highlight language="config">
611 AddType image/jpeg jpeg jpg jpe
615 <p>L'argument <var>extension</var> est insensible à la casse et peut
616 être spécifié avec ou sans le point initial. Les noms de fichiers
617 peuvent posséder <a href="#multipleext">plusieurs extensions</a>, et
618 l'argument <var>extension</var> sera comparé à chacune d'entre
621 <p>Il est possible d'obtenir un effet similaire à celui de la
623 module="mod_negotiation">LanguagePriority</directive> du module
624 <module>mod_negotiation</module> en qualifiant un <var>type de
625 média</var> avec <code>qs</code> :</p>
627 <example><title>Exemple</title>
628 <highlight language="config">
629 AddType application/rss+xml;qs=0.8 .xml
633 <p>Ceci peut s'avérer utile dans certaines situations, par exemple
634 lorsqu'un client qui a ajouté un en-tête <code>Accept: */*</code> à
635 sa requête n'est pas en mesure de traiter le contenu renvoyé par le
638 <p>A la base, cette directive configure le type de contenu généré
639 pour les fichiers statiques servis à partir du système de fichiers.
640 Dans le cas des ressources autres que les fichiers statiques pour
641 lesquelles le générateur de la réponse spécifie en général un
642 Content-Type, cette directive n'a aucun effet.</p>
644 <note><title>Note</title>
645 <p>Si aucun gestionnaire n'a été explicitement défini pour une
646 requête, c'est le type de contenu spécifié qui sera utilisé comme
647 nom de gestionnaire.</p>
649 <p>Lorsqu'aucune directive comme <directive
650 module="core">SetHandler</directive> ou
651 <directive>module="mod_mime">AddHandler</directive> ne s'applique à
652 une requête, le nom de gestionnaire interne qui aurait du être
653 défini par une de ces directives correspond alors au type de contenu
654 spécifié par la directive AddType.
657 Pour des raisons historiques, certains modules tiers comme mod_php
658 peuvent adopter ce comportement pour forcer la prise en compte de la
662 <p>Il est conseillé d'éviter les configurations qui reposent sur de
663 tels types "synthétiques". En outre, les configurations qui
664 limitent l'accès aux directives <directive
665 module="core">SetHandler</directive> ou <directive
666 module="mod_mime">AddHandler</directive> doivent aussi limiter
667 l'accès à la directive AddType.</p>
671 <seealso><directive module="core">ForceType</directive></seealso>
672 <seealso><module>mod_negotiation</module></seealso>
676 <name>MultiviewsMatch</name>
677 <description>Les types de fichiers qui seront inclus lors d'une
678 recherche de correspondance de fichier avec les vues multiples
679 (MultiViews)</description>
680 <syntax>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
681 [Handlers|Filters]</syntax>
682 <default>MultiviewsMatch NegotiatedOnly</default>
683 <contextlist><context>server config</context><context>virtual host</context>
684 <context>directory</context><context>.htaccess</context></contextlist>
685 <override>FileInfo</override>
688 <p>La directive <directive>MultiviewsMatch</directive> permet trois
689 comportements différents pour la fonctionnalité Multiviews du module
690 <a href="mod_negotiation.html">mod_negotiation</a>. Les vues
691 multiples permettent d'associer une requête pour un fichier, par
692 exemple <code>index.html</code>, à toute extension négotiée
693 s'ajoutant à la requête de base, par exemple
694 <code>index.html.en</code>, <code>index.html.fr</code>, ou
695 <code>index.html.gz</code>.</p>
697 <p>L'option <code>NegotiatedOnly</code> implique que toute extension
698 s'ajoutant au nom de base doit correspondre à une extension de
699 <module>mod_mime</module> reconnue pour la négociation de contenu,
700 par exemple Charset, Content-Type, Language, ou Encoding. C'est la
701 valeur d'option par défaut, et la contrainte la plus stricte
702 dont les effets de bord inattendus sont les moins nombreux.</p>
704 <p>Pour inclure des extensions associées avec des gestionnaires
705 et/ou des filtres, définissez la directive
706 <directive>MultiviewsMatch</directive> avec les mots-clés
707 <code>Handlers</code>, <code>Filters</code>, ou les deux. Si tous
708 les autres facteurs sont égaux, c'est le fichier de plus petite
709 taille qui sera servi ; par exemple, si le choix doit s'opérer entre
710 <code>index.html.cgi</code> de 500 octets et
711 <code>index.html.pl</code> de 1000 octets, c'est le fichier
712 <code>.cgi</code> qui l'emportera dans cet exemple. Les utilisateurs
713 de fichiers <code>.asis</code> auront avantage à utiliser l'option
714 Handler, si les fichiers <code>.asis</code> sont associés au
715 gestionnaire <code>asis-handler</code>.</p>
717 <p>Vous pouvez enfin autoriser l'association de toute extension avec
718 l'option <code>Any</code>, même si <module>mod_mime</module> ne
719 reconnaît pas l'extension. Ceci
720 peut conduire à des résultats imprévisibles, comme l'envoi de
721 fichiers .old ou .bak contrairement aux souhaits du webmaster.</p>
723 <p>Par exemple, la configuration suivante va permettre l'inclusion
724 des extensions associées aux gestionnaires et aux filtres dans les
725 vues multiples, tout en excluant les fichiers de type inconnu :</p>
727 <highlight language="config">
728 MultiviewsMatch Handlers Filters
731 <p>L'utilisation de la directive
732 <directive>MultiviewsMatch</directive> dans une section <directive
733 type="section" module="core">Location</directive> ou <directive
734 type="section" module="core">LocationMatch</directive> n'est pas
738 <seealso><directive module="core">Options</directive></seealso>
739 <seealso><module>mod_negotiation</module></seealso>
743 <name>DefaultLanguage</name>
744 <description>Défini un symbole de langage par défaut à affecter au champ
745 d'en-tête Content-Language pour toutes les ressources dans le contexte
746 courant auxquelles aucun symbole de langage n'a été
747 associé.</description>
748 <syntax>DefaultLanguage <var>symbole-langage</var></syntax>
749 <contextlist><context>server config</context><context>virtual host</context>
750 <context>directory</context><context>.htaccess</context></contextlist>
751 <override>FileInfo</override>
754 <p>La directive <directive>DefaultLanguage</directive> permet
755 d'indiquer à Apache que toutes les ressources du contexte courant
756 (par exemple, toutes les ressources concernées par le conteneur
757 <directive module="core" type="section">Directory</directive>
758 courant) qui ne possèdent pas d'extension de langage explicite
759 (comme <code>.fr</code> ou <code>.de</code> tel que défini par la
760 directive <directive module="mod_mime">AddLanguage</directive>),
761 verront leur en-tête HTTP Content-Language affecté du langage
762 <var>symbole-langage</var>. Ceci permet de marquer des arborescences
763 de répertoires entières comme contenant des documents en français,
764 par exemple, sans avoir à renommer chaque fichier. Notez qu'à la
765 différence de l'utilisation des extensions pour spécifier des
766 langages, <directive>DefaultLanguage</directive> ne permet de
767 spécifier qu'un seul langage.</p>
769 <p>Si aucune directive <directive>DefaultLanguage</directive> n'est
770 en vigueur, et si un fichier ne possède pas d'extension configurée
771 par la directive <directive
772 module="mod_mime">AddLanguage</directive>, aucun champ d'en-tête
773 Content-Language ne sera généré.</p>
775 <example><title>Exemple</title>
776 <highlight language="config">
781 <seealso><module>mod_negotiation</module></seealso>
785 <name>ModMimeUsePathInfo</name>
786 <description>Indique à <module>mod_mime</module> de traiter les éléments
787 de <code>path_info</code> en tant que parties du nom de
788 fichier</description>
789 <syntax>ModMimeUsePathInfo On|Off</syntax>
790 <default>ModMimeUsePathInfo Off</default>
791 <contextlist><context>directory</context></contextlist>
794 <p>La directive <directive>ModMimeUsePathInfo</directive> permet de
795 combiner le nom de fichier avec la partie <code>path_info</code> de
796 l'URL pour appliquer les directives <module>mod_mime</module> à la
797 requête. La valeur par défaut est <code>Off</code> - situation dans
798 laquelle l'élément <code>path_info</code> est ignoré.</p>
800 <p>L'utilisation de cette directive est conseillée si vous utilisez
801 un système de fichiers virtuel.</p>
803 <example><title>Exemple</title>
804 <highlight language="config">
805 ModMimeUsePathInfo On
809 <p>Considérons une requête pour <code>/index.php/foo.shtml</code>,
810 <module>mod_mime</module> ne traitera pas la requête entrante comme
811 <code>/index.php/foo.shtml</code> et les directives comme
812 <code>AddOutputFilter INCLUDES .shtml</code> ajouteront le filtre
813 <code>INCLUDES</code> à la requête. Si la directive
814 <directive>ModMimeUsePathInfo</directive> n'est pas définie, le
815 filtre <code>INCLUDES</code> ne sera pas ajouté. Le fonctionnement
816 sera identique dans le cas des chemins virtuels, tels que ceux
817 définis par la directive <directive type="section">Location</directive></p>
819 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
823 <name>RemoveCharset</name>
824 <description>Supprime toute association de jeu de caractères pour un
825 ensemble d'extensions de noms de fichiers</description>
826 <syntax>RemoveCharset <var>extension</var> [<var>extension</var>]
828 <contextlist><context>virtual host</context><context>directory</context>
829 <context>.htaccess</context></contextlist>
830 <override>FileInfo</override>
833 <p>La directive <directive>RemoveCharset</directive> permet de
834 supprimer toute association de jeu de caractères pour les fichiers
835 dont les noms possèdent les extensions spécifiées. Ceci permet, au
836 sein des fichiers <code>.htaccess</code>, d'annuler toute
837 association héritée du répertoire parent ou de la configuration du
838 serveur pour un répertoire particulier.</p>
840 <p>L'argument <var>extension</var> est insensible à la casse et peut
841 être spécifié avec ou sans le point initial.</p>
843 <example><title>Exemple</title>
844 <highlight language="config">
845 RemoveCharset .html .shtml
852 <name>RemoveEncoding</name>
853 <description>Supprime toute association de codage de contenu pour un
854 ensemble d'extensions de noms de fichiers</description>
855 <syntax>RemoveEncoding <var>extension</var> [<var>extension</var>]
857 <contextlist><context>virtual host</context><context>directory</context>
858 <context>.htaccess</context></contextlist>
859 <override>FileInfo</override>
862 <p>La directive <directive>RemoveEncoding</directive> permet de
863 supprimer toute association de codage pour les fichiers dont les
864 noms possèdent les extensions spécifiées. Ceci permet, au
865 sein des fichiers <code>.htaccess</code>, d'annuler toute
866 association héritée du répertoire parent ou de la configuration du
867 serveur pour un répertoire particulier. Voici un exemple
868 d'utilisation de cette directive :</p>
870 <example><title>/foo/.htaccess:</title>
871 <highlight language="config">
872 AddEncoding x-gzip .gz
873 AddType text/plain .asc
874 <Files "*.gz.asc">
880 <p>Avec cette configuration, le fichier <code>foo.gz</code> sera
881 marqué comme codé avec gzip, mais <code>foo.gz.asc</code> sera
882 marqué comme fichier texte non codé.</p>
884 <note><title>Note</title>
885 <p>Les directives <directive>RemoveEncoding</directive> étant
886 traitées <em>après</em> toute directive <directive
887 module="mod_mime">AddEncoding</directive>, il est possible
888 qu'elles annulent les effets de ces dernières si les deux
889 apparaissent dans la configuration du même répertoire.</p>
892 <p>L'argument <var>extension</var> est insensible à la casse et peut
893 être spécifié avec ou sans le point initial.</p>
898 <name>RemoveHandler</name>
899 <description>Supprime toute association de gestionnaire à un ensemble
900 d'extensions de noms de fichiers</description>
901 <syntax>RemoveHandler <var>extension</var> [<var>extension</var>]
903 <contextlist><context>virtual host</context><context>directory</context>
904 <context>.htaccess</context></contextlist>
905 <override>FileInfo</override>
908 <p>La directive <directive>RemoveHandler</directive> permet de
909 supprimer toute association de gestionnaire à des fichiers dont le
910 nom possède l'extension donnée. Ceci permet, au
911 sein des fichiers <code>.htaccess</code>, d'annuler toute
912 association héritée du répertoire parent ou de la configuration du
913 serveur pour un répertoire particulier. Voici un exemple
914 d'utilisation de cette directive :</p>
916 <example><title>/foo/.htaccess:</title>
917 <highlight language="config">
918 AddHandler server-parsed .html
922 <example><title>/foo/bar/.htaccess:</title>
923 <highlight language="config">
928 <p>Avec cette dernière ligne, les fichiers <code>.html</code> du
929 répertoire <code>/foo/bar</code> seront traités en tant que fichiers
930 normaux, au lieu d'être traités en tant que candidats à
931 l'interprétation (voir le module <module>mod_include</module>
934 <p>L'argument <var>extension</var> est insensible à la casse et peut
935 être spécifié avec ou sans le point initial.</p>
940 <name>RemoveInputFilter</name>
941 <description>Supprime toute association de filtre en entrée à un
942 ensemble d'extensions de noms de fichiers</description>
943 <syntax>RemoveInputFilter <var>extension</var> [<var>extension</var>]
945 <contextlist><context>virtual host</context><context>directory</context>
946 <context>.htaccess</context></contextlist>
947 <override>FileInfo</override>
950 <p>La directive <directive>RemoveInputFilter</directive> permet de
951 supprimer toute association de <a href="../filter.html">filtre</a>
952 en entrée à des fichiers dont le nom possède l'extension donnée.
954 sein des fichiers <code>.htaccess</code>, d'annuler toute
955 association héritée du répertoire parent ou de la configuration du
956 serveur pour un répertoire particulier.</p>
958 <p>L'argument <var>extension</var> est insensible à la casse et peut
959 être spécifié avec ou sans le point initial.</p>
961 <seealso><directive module="mod_mime">AddInputFilter</directive></seealso>
962 <seealso><directive module="core">SetInputFilter</directive></seealso>
966 <name>RemoveLanguage</name>
967 <description>Supprime toute association de langage à un ensemble
968 d'extensions de noms de fichiers</description>
969 <syntax>RemoveLanguage <var>extension</var> [<var>extension</var>]
971 <contextlist><context>virtual host</context><context>directory</context>
972 <context>.htaccess</context></contextlist>
973 <override>FileInfo</override>
976 <p>La directive <directive>RemoveLanguage</directive> permet de
977 supprimer toute association de langage à des fichiers dont le nom
978 possède l'extension donnée. Ceci permet, au
979 sein des fichiers <code>.htaccess</code>, d'annuler toute
980 association héritée du répertoire parent ou de la configuration du
981 serveur pour un répertoire particulier.</p>
983 <p>L'argument <var>extension</var> est insensible à la casse et peut
984 être spécifié avec ou sans le point initial.</p>
989 <name>RemoveOutputFilter</name>
990 <description>Supprime toute association de filtre en sortie à un
991 ensemble d'extensions de noms de fichiers</description>
992 <syntax>RemoveOutputFilter <var>extension</var> [<var>extension</var>]
994 <contextlist><context>virtual host</context><context>directory</context>
995 <context>.htaccess</context></contextlist>
996 <override>FileInfo</override>
999 <p>La directive <directive>RemoveOutputFilter</directive> permet de
1000 supprimer toute association de <a href="../filter.html">filtre</a>
1001 en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au
1002 sein des fichiers <code>.htaccess</code>, d'annuler toute
1003 association héritée du répertoire parent ou de la configuration du
1004 serveur pour un répertoire particulier.</p>
1006 <p>L'argument <var>extension</var> est insensible à la casse et peut
1007 être spécifié avec ou sans le point initial.</p>
1009 <example><title>Exemple</title>
1010 <highlight language="config">
1011 RemoveOutputFilter shtml
1015 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
1016 </directivesynopsis>
1019 <name>RemoveType</name>
1020 <description>Supprime toute association de type de contenu à un ensemble
1021 d'extensions de noms de fichiers</description>
1022 <syntax>RemoveType <var>extension</var> [<var>extension</var>]
1024 <contextlist><context>virtual host</context><context>directory</context>
1025 <context>.htaccess</context></contextlist>
1026 <override>FileInfo</override>
1029 <p>La directive <directive>RemoveType</directive> permet de
1030 supprimer toute association de <glossary ref="media-type">type de
1031 médium</glossary> à des fichiers dont le nom possède l'extension
1032 donnée. Ceci permet, au
1033 sein des fichiers <code>.htaccess</code>, d'annuler toute
1034 association héritée du répertoire parent ou de la configuration du
1035 serveur pour un répertoire particulier. Voici un exemple
1036 d'utilisation de cette directive :</p>
1038 <example><title>/foo/.htaccess:</title>
1039 <highlight language="config">
1044 <p>Cette ligne aura pour effet de supprimer tout traitement
1045 spécifique des fichiers <code>.cgi</code> dans le répertoire
1046 <code>/foo/</code> et ses sous-répertoires, et les réponses
1047 contenant ce type de fichier ne possèderont pas de champ d'en-tête
1048 HTTP Content-Type.</p>
1050 <note><title>Note</title>
1051 <p>Les directives <directive>RemoveType</directive> sont traitées
1052 <em>après</em> toutes les directives <directive
1053 module="mod_mime">AddType</directive>, et il est possible que les
1054 effets de ces dernières soient annulés si les deux types de
1055 directives sont présents au sein de la configuration du même
1059 <p>L'argument <var>extension</var> est insensible à la casse et peut
1060 être spécifié avec ou sans le point initial.</p>
1062 </directivesynopsis>
1065 <name>TypesConfig</name>
1066 <description>Le chemin du fichier <code>mime.types</code></description>
1067 <syntax>TypesConfig <var>chemin-fichier</var></syntax>
1068 <default>TypesConfig conf/mime.types</default>
1069 <contextlist><context>server config</context></contextlist>
1072 <p>La directive <directive>TypesConfig</directive> permet de définir
1073 le chemin du fichier de configuration des <glossary
1074 ref="media-type">types de média</glossary>. L'argument
1075 <var>chemin-fichier</var> est un chemin relatif au répertoire défini
1076 par la directive <directive module="core">ServerRoot</directive>. Ce
1077 fichier contient la liste des associations par défaut des extensions
1078 de noms de fichiers aux types de contenus. La plupart des
1079 administrateurs utilisent le fichier <code>mime.types</code> fourni
1081 qui associe les extensions de noms de fichiers courantes à la liste
1082 officielle des types de média enregistrés par l'IANA et maintenue à
1084 "http://www.iana.org/assignments/media-types/index.html"
1085 >http://www.iana.org/assignments/media-types/index.html</a>, ainsi
1086 qu'un grand nombre de types non officiels. Ce fichier permet de
1087 simplifier le fichier <code>httpd.conf</code> en fournissant la
1088 majorité des définitions de types de média, et ses définitions
1089 peuvent être écrasées par des directives <directive
1090 module="mod_mime">AddType</directive>, selon les besoins. Il est
1091 déconseillé de modifier le contenu du fichier
1092 <code>mime.types</code> car il peut être remplacé lors d'une mise à
1093 jour du serveur.</p>
1095 <p>Le fichier contient des lignes dont le format est identique à
1096 celui des arguments d'une directive <directive
1097 module="mod_mime">AddType</directive> :</p>
1100 <var>type-médium</var> [<var>extension</var>] ...
1103 <p>Les extensions sont insensibles à la casse. Les lignes vides et
1104 les lignes commençant par un dièse (<code>#</code>) sont
1105 ignorées. Les lignes vides servent à compléter le fichier
1106 mime.types. Apache httpd peut encore déterminer ces types via le
1107 module <module>mod_mime_magic</module>.</p>
1110 Merci de <strong>ne pas</strong> soumettre de requêtes au Projet
1111 de Serveur HTTP Apache pour ajouter une entrée dans le fichier
1112 <code>mime.types</code> fourni, sauf si :
1113 1) le type de médium est déjà enregistré à l'IANA
1114 2) et si l'extension est largement acceptée et ne provoque pas de
1115 conflits d'extensions entre les différentes plate-formes. Les
1116 requêtes du type <code>catégorie/x-sous-type</code> seront
1117 systématiquement rejetées, ainsi que toute nouvelle extension de
1118 deux lettres, car elle ont de fortes chances d'entrer en conflit
1119 par la suite avec les innombrables langages préexistants et les
1120 espaces de nommage des jeux de caractères.
1123 <seealso><module>mod_mime_magic</module></seealso>
1124 </directivesynopsis>