Serveur Apache HTTP Version 2.4
Module Apache mod_mime
Description: | Associe les extensions des fichiers demandés avec l'action déclenchée par ces fichiers et avec leur contenu (type MIME, langue, jeu de caractère et codage) |
---|---|
Statut: | Base |
Identificateur de Module: | mime_module |
Fichier Source: | mod_mime.c |
Sommaire
Ce module permet d'assigner des métadonnées aux contenus
sélectionnés pour une réponse HTTP, en associant des modèles d'URI
ou de noms de fichiers aux valeurs des métadonnées. Par exemple, les
extensions de noms de fichiers définissent souvent le type de médium
Internet, la langue, le jeu de caractères et le codage du contenu.
Ces informations sont relayées par les messages HTTP véhiculant ces
contenus, et utilisées au cours de la négociation de contenu lors de
la sélection des différentes possibilités, de manière à ce que les
préférences des utilisateurs soient respectées lors du choix d'un
contenu à servir parmi plusieurs autres contenus. Voir
mod_negotiation
pour plus d'informations à propos
de la négociation de
contenu.
Les directives AddCharset
, AddEncoding
, AddLanguage
et AddType
permettent d'associer des
extensions de fichiers aux métadonnées de ces fichiers. Elles
définissent respectivement le jeu de caractères, le codage du
contenu, la langue du contenu et le type de
médium (content-type) des documents. La directive
TypesConfig
permet de
spécifier un fichier qui contient lui-même des associations entre
extensions et types de media.
De plus, mod_mime
peut définir le gestionnaire et les filtres qui sont à l'origine du contenu et
le traitent. Les directives AddHandler
, AddOutputFilter
, et AddInputFilter
permettent de contrôler
les modules ou les scripts qui vont servir le document. La directive
MultiviewsMatch
permet à
mod_negotiation
de déterminer les extensions de
fichiers à inclure lors des tests de correspondances multivues.
Alors que mod_mime
associe des métadonnées avec
des extensions de fichiers, le serveur de base core
fournit des directives permettant d'associer tous les fichiers d'un
conteneur donné (par exemple <Location>
, <Directory>
, ou <Files>
) avec des métadonnées particulières.
Parmi ces directives, on trouve ForceType
, SetHandler
, SetInputFilter
, et SetOutputFilter
. Les directives du serveur
de base l'emportent sur toute directive d'association d'extensions
de noms de fichiers définie par mod_mime
.
Notez que la modification des métadonnées d'un fichier ne modifie
pas la valeur de l'en-tête Last-Modified
. Ainsi,
certaines copies de documents préalablement mises en cache peuvent
encore être utilisées par un client ou un mandataire avec les
anciens en-têtes. Si vous modifiez les métadonnées (langue, type de
contenu, jeu de caractère ou codage), vous devez donc enregistrer
une modification du fichier concerné (afin de mettre à jour sa date
de dernière modification), pour être sûr que tous les visiteurs
recevront le documents avec les en-têtes corrects.
Fichiers avec extensions multiples
Les fichiers peuvent posséder plusieurs extensions dont l'ordre
est normalement sans importance. Par exemple, si
le fichier welcome.html.fr
est associé au type de
contenu text/html
et à la langue française, le fichier
welcome.fr.html
possèdera exactement les même
métadonnées. Si le fichier possède plusieurs extensions associées
au même type de métadonnée, c'est celle de ces extensions la plus à
droite qui sera utilisée, excepté pour ce qui concerne les langues
et les codages de contenu. Par exemple, si .gif
est
associé au type de médium
image/gif
, et .html
au type de médium
text/html
, le fichier welcome.gif.html
sera associé au type de médium text/html
.
Les Languages et les codages de contenu sont traités de
manière cumulative, car il est possible d'assigner plusieurs
langues ou codages à une ressource particulière. Par exemple, le
fichier welcome.html.en.de
sera servi avec les en-têtes
Content-Language: en, de
et Content-Type:
text/html
.
Des précautions doivent être prises lorsqu'un fichier avec
extensions multiples est associé à la fois à un type de
médium et à un gestionnaire. En général, cela impliquera
la gestion de la requête par le module associé au gestionnaire. Par
exemple, si l'extension .imap
est associée au
gestionnaire imap-file
(du module
mod_imagemap
), et si l'extension .html
est associée au type de médium text/html
, le fichier
world.imap.html
sera à la fois associé au gestionnaire
imap-file
et au type de médium text/html
.
Pour son traitement, c'est le gestionnaire imap-file
qui sera utilisé, et il sera donc traité en tant que fichier
imagemap.
Si vous préférez que seule la dernière partie d'un nom de fichier
séparée du reste du nom par un point soit associée à une métadonnée
particulière, n'utilisez pas les directives Add*
. Par
exemple, si vous souhaitez que le fichier foo.html.cgi
soit traité en tant que script CGI, mais pas le fichier
bar.cgi.html
, alors, au lieu d'utiliser
AddHandler cgi-script .cgi
, utilisez plutôt :
Configuration du gestionnaire en se basant seulement sur la dernière extension
<FilesMatch "[^.]+\.cgi$"> SetHandler cgi-script </FilesMatch>
Codage du contenu
Un fichier d'un type de médium particulier
peut être également codé d'une certaine manière pour simplifier sa
transmission sur Internet. Alors que cela concerne en général la
compression, comme gzip
, il peut aussi s'agir de
chiffrement, comme pgp
ou d'un codage comme UUencoding,
qui est conçu pour transmettre un fichier binaire sous un format
ASCII (texte).
La RFC HTTP/1.1, section 14.11 stipule à ce titre :
Le champ d'en-tête Content-Encoding de l'entité est utilisé en tant que modificateur du type de médium. Lorsqu'il est présent, sa valeur indique quels codages de contenu additionnels ont été appliqués au corps de l'entité, et ainsi quels mécanismes de décodage doivent être appliqués afin de retrouver le type de médium référencé par le champ d'en-tête Content-Type. Le codage de contenu est principalement utilisé pour permettre la compression d'un document sans perdre l'information concernant le type de médium sous-jacent.
En utilisant plusieurs extensions (voir la section ci-dessus à propos des extensions de fichiers multiples), vous pouvez indiquer qu'un fichier est d'un type, particulier, et possède aussi un codage particulier.
Considérons par exemple un fichier contenant un document
Microsoft Word et compressé par pkzip pour réduire sa taille. Si
l'extension .doc
est associée au type de fichier
Microsoft Word, et si l'extension .zip
est associée au
codage de fichier pkzip, alors le fichier
Resume.doc.zip
sera identifié comme document Word
compressé par pkzip.
Apache joint un en-tête Content-encoding
à la
ressource afin d'informer le navigateur client à propos de la
méthode de codage.
Content-encoding: pkzip
Jeux de caractères et langues
En plus du type de fichier et du codage, un autre élément important d'information est la langue dans laquelle le document est écrit, et avec quel jeu de caractères le contenu du fichier doit être affiché. Par exemple, un document peut être écrit en alphabet vietnamien ou cyrillique, et doit être affiché en conséquence. Cette information est également transmise via des en-têtes HTTP.
Les jeu de caractères, langue, codage et type MIME sont tous
utilisés au cours du processus de négociation de contenu (voir
mod_negotiation
) afin de déterminer quel document
servir au client, lorsque plusieurs choix sont possibles en fonction
du jeu de caractères, de la langue, du codage ou du type MIME. Toutes
les associations d'extensions de noms de fichiers créées via les
directives AddCharset
,
AddEncoding
, AddLanguage
et AddType
(ainsi que les associations
d'extensions listées dans le fichier défini par la directive
MimeMagicFile
),
participent à ce processus de sélection. Les extensions de noms de
fichiers qui n'ont été associés que par des directives AddHandler
, AddInputFilter
ou AddOutputFilter
, peuvent être incluses
ou exclues du processus de sélection en utilisant la directive
MultiviewsMatch
.
Jeu de caractères
Pour transmettre cette information supplémentaire, Apache peut
ajouter un en-tête Content-Language
, afin de
spécifier la langue dans laquelle le document est écrit, et peut
ajouter des informations additionnelles à l'en-tête
Content-Type
pour indiquer le jeu de caractères
particulier qui doit être utilisé pour restituer correctement le
document.
Content-Language: en, fr
Content-Type: text/plain; charset=ISO-8859-1
La langue est spécifiée via son abréviation en deux lettres. Le
jeu de caractères
est le nom du jeu de caractères
particulier qui doit être utilisé.
Directive AddCharset
Description: | Associe les extensions de noms de fichiers spécifiées au jeu de caractères spécifié |
---|---|
Syntaxe: | AddCharset jeu-car extension
[extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive AddCharset
permet d'associer
les extensions de noms de fichiers spécifiées au jeu de caractères
spécifié (le nom enregistré sur l'Internet d'un codage de caractères
donné). jeu-car est le paramètre jeu
de caractères du type de médium pour les ressources dont le nom
de fichier contient extension. Cette association est
ajoutée à toutes les autres déjà en vigueur, et écrase toute
association préexistante pour la même extension.
Exemple
AddLanguage ja .ja AddCharset EUC-JP .euc AddCharset ISO-2022-JP .jis AddCharset SHIFT_JIS .sjis
Avec cet exemple, le document xxxx.ja.jis
sera
traité en tant que document japonais dont le jeu de caractère est
ISO-2022-JP
(idem pour le document
xxxx.jis.ja
). La directive
AddCharset
sert à la fois à informer le
client sur le codage des caractères du document afin que ce dernier
puisse être interprété et affiché correctement, et à la négociation de contenu, au
cours de laquelle le serveur décide lequel parmi plusieurs
documents possibles il renvoie au client en fonction des préférences
de ce dernier en matière de jeu de caractères.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Voir aussi
Directive AddEncoding
Description: | Associe les extensions de noms de fichiers données au type de codage spécifié |
---|---|
Syntaxe: | AddEncoding codage extension
[extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive AddEncoding
permet d'associer
les extensions de noms de fichiers données au codage de contenu HTTP
spécifié. codage est le codage de contenu HTTP à ajouter
à la valeur du champ d'en-tête Content-Encoding pour les documents
possédant l'extension spécifiée. Cette association est
ajoutée à toutes les autres déjà en vigueur, et écrase toute
association préexistante pour la même extension.
Exemple
AddEncoding x-gzip .gz AddEncoding x-compress .Z
Avec cet exemple, les noms de fichiers possédant l'extension
.gz
seront marqués comme codés à l'aide du codage
x-gzip
, et les noms de fichiers possédant l'extension
.Z
comme codés avec x-compress
.
Les clients anciens n'acceptent que x-gzip
et
x-compress
, bien que les standards stipulent qu'ils
sont respectivement équivalents à gzip
et
compress
. Apache effectue ses comparaisons de codages
de contenu en ignorant tout préfixe x-
. Lorsqu'il
répond avec un codage, Apache utilise l'une ou l'autre forme (c'est
à dire x-foo
ou foo
) selon les besoins du
client. Si le client n'a pas besoin d'une forme particulière, Apache
utilisera la forme employée par la directive
AddEncoding
. Pour résumer, vous devez toujours utiliser
x-gzip
et x-compress
pour ces deux
codages spécifiques. Certains codages plus récents, comme
deflate
, doivent être spécifiés sans le préfixe
x-
.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Directive AddHandler
Description: | Associe les extensions de noms de fichiers données au gestionnaire spécifié |
---|---|
Syntaxe: | AddHandler nom-gestionnaire extension
[extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
Les fichiers dont le nom a pour extension extension
seront servis par le nom-gestionnaire spécifié. Cette
association est ajoutée à toutes les autres déjà en vigueur, et
écrase toute association préexistante pour la même
extension. Par exemple, pour associer les scripts CGI
avec l'extension de fichier .cgi
, vous pouvez utiliser
:
AddHandler cgi-script .cgi
Une fois cette ligne insérée dans votre fichier httpd.conf, tout
fichier possédant l'extension .cgi
sera traité en tant
que programme CGI.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Voir aussi
Directive AddInputFilter
Description: | Associe les extensions de noms de fichiers aux filtres spécifiés qui traiteront les requêtes clients |
---|---|
Syntaxe: | AddInputFilter filtre[;filtre...]
extension [extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive AddInputFilter
permet
d'associer l'extension de nom de fichier extension aux filtres spécifiés qui traiteront les
requêtes clients et les entrées POST à leur réception par le
serveur. Ceci s'ajoute à toute définition de filtre préexistante, y
compris la directive SetInputFilter
. Cette
association est ajoutée à toutes les autres déjà en vigueur, et
écrase toute association préexistante pour la même
extension.
Si plusieurs filtres sont spécifiés, ils doivent être séparés par des points-virgules et inscrits dans l'ordre selon lequel ils devront traiter le contenu. L'argument filtre est insensible à la casse.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Voir aussi
Directive AddLanguage
Description: | Associe l'extension de nom de fichier donnée à la langue spécifié |
---|---|
Syntaxe: | AddLanguage symbole-langue extension
[extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive AddLanguage
permet d'associer
l'extension de nom de fichier donnée à la langue spécifiée. Les
fichiers dont l'extension correspond à la valeur
de l'argument extension se voient attribuer la valeur de
l'argument symbole-langue comme en-tête HTTP
Content-Language en accord avec les identifiants de langues définis
par la RFC 3066. Cette directive l'emporte sur toute association
préexistante pour la même extension.
Exemple
AddEncoding x-compress .Z AddLanguage en .en AddLanguage fr .fr
Avec cet exemple, le document xxxx.en.Z
sera traité
en tant que document compressé de langue anglaise (idem pour le
document xxxx.Z.en
). Bien que la langue soit fournie au
client, le navigateur n'utilise habituellement pas cette
information. La directive AddLanguage
est
principalement utilisée au cours de la négociation de contenu, où le
serveur choisit d'envoyer un document parmi plusieurs documents
possibles en fonction de la préférence du client en matière de
langue.
Si une extension fait l'objet de plusieurs associations de langues, c'est la dernière qui sera utilisée. Ainsi, dans le cas suivant,
AddLanguage en .en AddLanguage en-gb .en AddLanguage en-us .en
les documents possédant l'extension .en
seront
traités en tant que documents de langue en-us
.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Voir aussi
Directive AddOutputFilter
Description: | Associe les extensions de noms de fichiers aux filtres spécifiés qui traiteront les réponses en provenance du serveur |
---|---|
Syntaxe: | AddOutputFilter filtre[;filtre...]
extension [extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive AddOutputFilter
permet
d'associer l'extension de nom de fichier définie par l'argument
extension aux filtres qui traiteront les réponses en
provenance du serveur avant de les envoyer au client. Ces filtres
s'ajoutent à tout filtre défini par d'autres directives comme
SetOutputFilter
et AddOutputFilterByType
. Cette association
est fusionnée avec toute autre association en vigueur, et l'emporte
sur toute association préexistante pour la même
extension.
Avec l'exemple suivant, tous les fichiers .shtml
seront traités en tant qu'inclusions côté serveur (SSI), et la
sortie sera compressée à l'aide du module
mod_deflate
.
AddOutputFilter INCLUDES;DEFLATE shtml
Si plusieurs filtres sont spécifiés, ils doivent être séparés par des points-virgules et inscrits dans l'ordre selon lequel il devront traiter le contenu. L'argument filtre est insensible à la casse.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Notez que toute définition de filtres via la directive AddOutputFilter
remplace toutes les
définitions précédentes effectuées via cette même directive.
# Filtre spécifié "DEFLATE" AddOutputFilter DEFLATE shtml <Location "/foo"> # Filtre spécifié "INCLUDES", remplace "DEFLATE" AddOutputFilter INCLUDES shtml </Location> <Location "/bar"> # Filtre spécifié "INCLUDES;DEFLATE", remplace "DEFLATE" AddOutputFilter INCLUDES;DEFLATE shtml </Location> <Location "/bar/baz"> # Filtre spécifié "BUFFER", remplace "INCLUDES;DEFLATE" AddOutputFilter BUFFER shtml </Location> <Location "/bar/baz/buz"> # Pas de filtre spécifié, suppression de "BUFFER" RemoveOutputFilter shtml </Location>
Voir aussi
Directive AddType
Description: | Associe les extensions de noms de fichiers au type de contenu spécifié |
---|---|
Syntaxe: | AddType type-médium extension
[extension] ... |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive AddType
permet d'associer les
extensions de noms de fichiers données au type de contenu spécifié.
type-médium est le Type
MIME à utiliser pour les fichiers dont le nom possède
l'extension extension. Cette association s'ajoute à toute
autre association en vigueur, et l'emporte sur toute association
préexistante pour la même extension.
TypesConfig
, il est recommandé
d'utiliser la directive AddType
pour
ajouter de nouveaux types de médias.
Exemple
AddType image/gif .gif
Ou, pour spécifier plusieurs extensions dans une seule directive :
Exemple
AddType image/jpeg jpeg jpg jpe
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial. Les noms de fichiers peuvent posséder plusieurs extensions, et l'argument extension sera comparé à chacune d'entre elles.
Il est possible d'obtenir un effet similaire à celui de la
directive LanguagePriority
du module
mod_negotiation
en qualifiant un type de
média avec qs
:
Exemple
AddType application/rss+xml;qs=0.8 .xml
Ceci peut s'avérer utile dans certaines situations, par exemple
lorsqu'un client qui a ajouté un en-tête Accept: */*
à
sa requête n'est pas en mesure de traiter le contenu renvoyé par le
serveur.
À la base, cette directive configure le type de contenu généré pour les fichiers statiques servis à partir du système de fichiers. Dans le cas des ressources autres que les fichiers statiques pour lesquelles le générateur de la réponse spécifie en général un Content-Type, cette directive n'a aucun effet.
Note
Si aucun gestionnaire n'est explicitement défini pour une requête, le type de contenu spécifié sera aussi utilisé comme nom du gestionnaire.
Lorsqu'aucune directive comme SetHandler
ou
AddHandler
ne s'applique à
une requête, le nom de gestionnaire interne normalement défini
par une de ces directives est en fait défini par le type de contenu
spécifié par la présente directive.
Pour des raisons historiques, certains modules tiers comme mod_php peuvent adopter ce type de comportement pour prendre en compte la requête concernée.
Il est conseillé d'éviter les configurations qui reposent sur de
tels types "synthétiques". En outre, les configurations qui
limitent l'accès aux directives SetHandler
ou AddHandler
doivent aussi limiter
l'accès à la directive AddType.
Voir aussi
Directive DefaultLanguage
Description: | Définit un symbole de langue par défaut à affecter au champ d'en-tête Content-Language pour toutes les ressources dans le contexte courant auxquelles aucun symbole de langue n'a été associé. |
---|---|
Syntaxe: | DefaultLanguage symbole-langue |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive DefaultLanguage
permet
d'indiquer à Apache que toutes les ressources du contexte courant
(par exemple, toutes les ressources concernées par le conteneur
<Directory>
courant) qui ne possèdent pas d'extension de langue explicite
(comme .fr
ou .de
tel que défini par la
directive AddLanguage
),
verront leur en-tête HTTP Content-Language affecté de la langue
symbole-langue. Ceci permet de marquer des arborescences
de répertoires entières comme contenant des documents en français,
par exemple, sans avoir à renommer chaque fichier. Notez qu'à la
différence de l'utilisation des extensions pour spécifier des
langues, DefaultLanguage
ne permet de
spécifier qu'une seule langue.
Si aucune directive DefaultLanguage
n'est
en vigueur, et si un fichier ne possède pas d'extension configurée
par la directive AddLanguage
, aucun champ d'en-tête
Content-Language ne sera généré.
Exemple
DefaultLanguage en
Voir aussi
Directive ModMimeUsePathInfo
Description: | Indique à mod_mime de traiter les éléments
de path_info en tant que parties du nom de
fichier |
---|---|
Syntaxe: | ModMimeUsePathInfo On|Off |
Défaut: | ModMimeUsePathInfo Off |
Contexte: | répertoire |
Statut: | Base |
Module: | mod_mime |
La directive ModMimeUsePathInfo
permet de
combiner le nom de fichier avec la partie path_info
de
l'URL pour appliquer les directives mod_mime
à la
requête. La valeur par défaut est Off
- situation dans
laquelle l'élément path_info
est ignoré.
L'utilisation de cette directive est conseillée si vous utilisez un système de fichiers virtuel.
Exemple
ModMimeUsePathInfo On
Considérons une requête pour /index.php/foo.shtml
,
mod_mime
ne traitera pas la requête entrante comme
/index.php/foo.shtml
et les directives comme
AddOutputFilter INCLUDES .shtml
ajouteront le filtre
INCLUDES
à la requête. Si la directive
ModMimeUsePathInfo
n'est pas définie, le
filtre INCLUDES
ne sera pas ajouté. Le fonctionnement
sera identique dans le cas des chemins virtuels, tels que ceux
définis par la directive <Location>
Voir aussi
Directive MultiviewsMatch
Description: | Les types de fichiers qui seront inclus lors d'une recherche de correspondance de fichier avec les vues multiples (MultiViews) |
---|---|
Syntaxe: | MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
[Handlers|Filters] |
Défaut: | MultiviewsMatch NegotiatedOnly |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive MultiviewsMatch
permet trois
comportements différents pour la fonctionnalité Multiviews du module
mod_negotiation. Les vues
multiples permettent d'associer une requête pour un fichier, par
exemple index.html
, à toute extension négociée
s'ajoutant à la requête de base, par exemple
index.html.en
, index.html.fr
, ou
index.html.gz
.
L'option NegotiatedOnly
implique que toute extension
s'ajoutant au nom de base doit correspondre à une extension de
mod_mime
reconnue pour la négociation de contenu,
par exemple Charset, Content-Type, Language, ou Encoding. C'est la
valeur d'option par défaut, et la contrainte la plus stricte
dont les effets de bord inattendus sont les moins nombreux.
Pour inclure des extensions associées avec des gestionnaires
et/ou des filtres, définissez la directive
MultiviewsMatch
avec les mots-clés
Handlers
, Filters
, ou les deux. Si tous
les autres facteurs sont égaux, c'est le fichier de plus petite
taille qui sera servi ; par exemple, si le choix doit s'opérer entre
index.html.cgi
de 500 octets et
index.html.pl
de 1000 octets, c'est le fichier
.cgi
qui l'emportera dans cet exemple. Les utilisateurs
de fichiers .asis
auront avantage à utiliser l'option
Handler, si les fichiers .asis
sont associés au
gestionnaire asis-handler
.
Vous pouvez enfin autoriser l'association de toute extension avec
l'option Any
, même si mod_mime
ne
reconnaît pas l'extension. Ceci
peut conduire à des résultats imprévisibles, comme l'envoi de
fichiers .old ou .bak contrairement aux souhaits du webmaster.
Par exemple, la configuration suivante va permettre l'inclusion des extensions associées aux gestionnaires et aux filtres dans les vues multiples, tout en excluant les fichiers de type inconnu :
MultiviewsMatch Handlers Filters
L'utilisation de la directive
MultiviewsMatch
dans une section <Location>
ou <LocationMatch>
n'est pas
permise.
Voir aussi
Directive RemoveCharset
Description: | Supprime toute association de jeu de caractères pour un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveCharset extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveCharset
permet de
supprimer toute association de jeu de caractères pour les fichiers
dont les noms possèdent les extensions spécifiées. Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Exemple
RemoveCharset .html .shtml
Directive RemoveEncoding
Description: | Supprime toute association de codage de contenu pour un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveEncoding extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveEncoding
permet de
supprimer toute association de codage pour les fichiers dont les
noms possèdent les extensions spécifiées. Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier. Voici un exemple
d'utilisation de cette directive :
/foo/.htaccess:
AddEncoding x-gzip .gz AddType text/plain .asc <Files "*.gz.asc"> RemoveEncoding .gz </Files>
Avec cette configuration, le fichier foo.gz
sera
marqué comme codé avec gzip, mais foo.gz.asc
sera
marqué comme fichier texte non codé.
Note
Les directives RemoveEncoding
étant
traitées après toute directive AddEncoding
, il est possible
qu'elles annulent les effets de ces dernières si les deux
apparaissent dans la configuration du même répertoire.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Directive RemoveHandler
Description: | Supprime toute association de gestionnaire à un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveHandler extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveHandler
permet de
supprimer toute association de gestionnaire à des fichiers dont le
nom possède l'extension donnée. Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier. Voici un exemple
d'utilisation de cette directive :
/foo/.htaccess:
AddHandler server-parsed .html
/foo/bar/.htaccess:
RemoveHandler .html
Avec cette dernière ligne, les fichiers .html
du
répertoire /foo/bar
seront traités en tant que fichiers
normaux, au lieu d'être traités en tant que candidats à
l'interprétation (voir le module mod_include
module).
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Directive RemoveInputFilter
Description: | Supprime toute association de filtre en entrée à un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveInputFilter extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveInputFilter
permet de
supprimer toute association de filtre
en entrée à des fichiers dont le nom possède l'extension donnée.
Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Voir aussi
Directive RemoveLanguage
Description: | Supprime toute association de langue à un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveLanguage extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveLanguage
permet de
supprimer toute association de langue à des fichiers dont le nom
possède l'extension donnée. Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Directive RemoveOutputFilter
Description: | Supprime toute association de filtre en sortie à un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveOutputFilter extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveOutputFilter
permet de
supprimer toute association de filtre
en sortie à des fichiers dont le nom possède l'extension donnée. Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Exemple
RemoveOutputFilter shtml
Voir aussi
Directive RemoveType
Description: | Supprime toute association de type de contenu à un ensemble d'extensions de noms de fichiers |
---|---|
Syntaxe: | RemoveType extension [extension]
... |
Contexte: | serveur virtuel, répertoire, .htaccess |
AllowOverride: | FileInfo |
Statut: | Base |
Module: | mod_mime |
La directive RemoveType
permet de
supprimer toute association de type de
médium à des fichiers dont le nom possède l'extension
donnée. Ceci permet, au
sein des fichiers .htaccess
, d'annuler toute
association héritée du répertoire parent ou de la configuration du
serveur pour un répertoire particulier. Voici un exemple
d'utilisation de cette directive :
/foo/.htaccess:
RemoveType .cgi
Cette ligne aura pour effet de supprimer tout traitement
spécifique des fichiers .cgi
dans le répertoire
/foo/
et ses sous-répertoires, et les réponses
contenant ce type de fichier ne possèderont pas de champ d'en-tête
HTTP Content-Type.
Note
Les directives RemoveType
sont traitées
après toutes les directives AddType
, et il est possible que les
effets de ces dernières soient annulés si les deux types de
directives sont présents au sein de la configuration du même
répertoire.
L'argument extension est insensible à la casse et peut être spécifié avec ou sans le point initial.
Directive TypesConfig
Description: | Le chemin du fichier mime.types |
---|---|
Syntaxe: | TypesConfig chemin-fichier |
Défaut: | TypesConfig conf/mime.types |
Contexte: | configuration du serveur |
Statut: | Base |
Module: | mod_mime |
La directive TypesConfig
permet de définir
le chemin du fichier de configuration des types de média. L'argument
chemin-fichier est un chemin relatif au répertoire défini
par la directive ServerRoot
. Ce
fichier contient la liste des associations par défaut des extensions
de noms de fichiers aux types de contenus. La plupart des
administrateurs utilisent le fichier mime.types
fourni
par leur système d'exploitation,
qui associe les extensions de noms de fichiers courantes à la liste
officielle des types de média enregistrés par l'IANA et maintenue à
http://www.iana.org/assignments/media-types/index.html, ainsi
qu'un grand nombre de types non officiels. Ce fichier permet de
simplifier le fichier httpd.conf
en fournissant la
majorité des définitions de types de média, et ses définitions
peuvent être écrasées par des directives AddType
, selon les besoins. Il est
déconseillé de modifier le contenu du fichier
mime.types
car il peut être remplacé lors d'une mise à
jour du serveur.
Le fichier contient des lignes dont le format est identique à
celui des arguments d'une directive AddType
:
type-médium [extension] ...
Les extensions sont insensibles à la casse. Les lignes vides et
les lignes commençant par un dièse (#
) sont
ignorées. Les lignes vides servent à compléter le fichier
mime.types. Apache httpd peut encore déterminer ces types via le
module mod_mime_magic
.
mime.types
fourni, sauf si :
1) le type de médium est déjà enregistré à l'IANA
2) et si l'extension est largement acceptée et ne provoque pas de
conflits d'extensions entre les différentes plate-formes. Les
requêtes du type catégorie/x-sous-type
seront
systématiquement rejetées, ainsi que toute nouvelle extension de
deux lettres, car elle ont de fortes chances d'entrer en conflit
par la suite avec les inombrables langues préexistantes et les
espaces de nommage des jeux de caractères.