Implémenter le commutateur META sur Apache

Remarque : Les informations de ce document sont provisoires et sujettes à modification.

Windows Internet Explorer 8 introduit des modes de compatibilité de document, qui permettent aux développeurs Web de dire au navigateur d'afficher leurs pages comme les versions antérieures le feraient. Le mode de compatibilité peut être spécifié sur une par page ou par site.

Ce document explique comment implémenter un mode de compatibilité de document très commun, EmulateIE7, pris en charge par Windows Internet Explorer 8, par site, en utilisant des en-têtes personnalisés dans Apache.

Pour plus d'informations à propos des différents modes de compatibilité pris en charge par Windows Internet Explorer 8 et pour savoir comment les implémenter par page, voir Compatibilité future des balises META et du verrouillage .

Spécifier des en-têtes de réponse HTTP personnalisés

Il est possible de spécifier un mode de document pour votre site Web en définissant un en-tête personnalisé pour le site à l'aide du serveur Web Apache. L'en-tête HTTP personnalisé suivant forcera Windows Internet Explorer 8 à afficher des pages Web comme dans Windows Internet Explorer 7.

X-UA-Compatible: IE=EmulateIE7

Apache 2.2

Pour spécifier un en-tête de réponse HTTP pour votre site Web en utilisant Apache 2.2, vous pouvez utiliser la directive d'en-tête fournie par le module mod_headers . La directive d'en-tête peut se présenter presque n'importe où dans les divers fichiers de configuration , mais le fichier de configuration principal est httpd.conf. Il est possible d'en limiter la portée en les incluant dans des sections de configuration comme <Location>,<Directory>,<Files> , et <VirtualHost>.

En plaçant la directive dans httpd.conf, toutes les pages envoyées par votre serveur dans ce cadre incluront l'en-tête de réponse HTTP X-UA-Compatible. Ceci forcera Windows Internet Explorer 8 à utiliser le mode EmulateIE7 pour afficher vos pages en affichant vos pages.

Premièrement, vous devez vous assurer que le headers_module est chargé pendant l'initialisation du serveur. Dans le fichier httpd.conf, décommentez la ligne en supprimant le « # » au début de la ligne LoadModule pour headers_module. Pour cela, vous pouvez utiliser un éditeur de texte comme le Bloc-notes. Le résultat doit être :

LoadModule headers_module modules/mod_headers.so

Pour ajouter l'en-tête à toutes les pages sur le serveur, ajoutez la ligne suivante au fichier httpd.conf après les lignes LoadModule.

Header set X-UA-Compatible “IE=EmulateIE7”

Parfois, il vaut mieux ne pas appliquer l'en-tête à toutes les pages sur le serveur. La directive <Location> peut être utilisée pour modifier la configuration du contenu dans l'espace Web par rapport à la racine du document. Par exemple, la configuration suivante applique l'en-tête HTTP à n'importe quel chemin URL qui commence par /store. Elle l'appliquera aux requêtes http://yoursite.com/store et http://yoursite.com/store/file.html ainsi qu'à toute autre requête qui commence par la chaîne /store.

<Location /store>   Header set X-UA-Compatible “IE=EmulateIE7” </Location>

Priorités de page

Si vous spécifiez un mode de compatibilité de document par défaut à l'aide de votre serveur Web, vous pouvez ignorer ce paramètre en spécifiant un mode de compatibilité de document différent dans une page Web spécifique. Le mode spécifié dans la page Web a priorité sur le mode spécifié par le serveur.

Pour des informations détaillées sur les options de configuration à l'aide des directives, voir <Location>,<Directory>,<Files> et <VirtualHost>. Pour plus d'informations sur la directive d'en-tête et pour savoir comment l'utiliser dans les sections de configuration, voir les documents ci-dessous :

Versions antérieures

Les liens suivants contiennent des informations détaillées sur la manière d'ajouter des en-têtes de réponse HTTP personnalisés à votre site à l'aide des versions antérieures du serveur Web Apache.

En-têtes de réponse HTTP personnalisés et autres serveurs Web

Pour plus d'informations sur les modes de compatibilité de document de Windows Internet Explorer 8 et du serveur Web Internet Information Services (IIS), voir Implémentation du commutateur META sur IIS .