TL;DR : L’erreur HTTP 406 « Not Acceptable » survient lorsque le serveur ne peut pas fournir une réponse dans le format demandé par le navigateur via ses en-têtes Accept. Elle peut être causée par des en-têtes mal configurés, le module mod_security, un conflit de plugin ou un cache corrompu. La résolution passe par la vérification de l’URL, le vidage du cache, la reconfiguration du fichier .htaccess ou la désactivation des plugins défaillants.
Votre site affiche soudainement un écran blanc avec le message « Not Acceptable » ou « 406 Not Acceptable » ? C’est une situation frustrante, surtout quand elle survient sans avertissement. La bonne nouvelle : cette erreur est identifiable et corrigeable, à condition de comprendre ce qui se passe entre votre navigateur et votre serveur.
Contrairement aux erreurs 404 ou 500 bien connues des administrateurs web, l’erreur 406 reste relativement rare. Sa spécificité la rend parfois difficile à diagnostiquer. Elle implique un mécanisme fondamental du protocole HTTP : la négociation de contenu. Quand ce mécanisme dysfonctionne, le serveur refuse tout simplement de répondre.
Ce guide vous explique précisément ce qu’est l’erreur 406, pourquoi elle apparaît, et comment la corriger étape par étape, que vous soyez un utilisateur lambda ou un administrateur de site. Chaque méthode présentée ici s’appuie sur des causes documentées et des solutions éprouvées.

Qu’est-ce que l’erreur HTTP 406 Not Acceptable ?
L’erreur 406 est un code de statut HTTP de la catégorie 4xx. Selon la documentation officielle de MDN Web Docs basée sur la RFC 9110, ce code indique que le serveur n’a pas pu produire une réponse correspondant à la liste des valeurs acceptables définies dans les en-têtes de négociation de contenu de la requête, et qu’il a refusé de fournir une représentation par défaut.
Concrètement, voici ce qui se passe : à chaque fois que votre navigateur accède à une page web, il envoie une requête HTTP au serveur. Dans cette requête, il inclut des en-têtes qui précisent les formats qu’il est capable de traiter : type de fichier, encodage, langue, jeu de caractères. Si le serveur ne peut satisfaire aucune de ces exigences, il retourne une erreur 406.
Le message affiché ressemble souvent à ceci :
« Not Acceptable. An appropriate representation of the requested resource could not be found on this server. »
Parfois, il précise même le fichier incriminé :
« An appropriate representation of the requested resource /exemple.php could not be found on this server. »
L’affichage varie selon le serveur, l’hébergeur ou le navigateur utilisé. Dans certains cas, vous n’obtenez qu’un laconique « 406 Not Acceptable », sans plus d’information.
➡️ Erreur 400 lors de la connexion : Comprendre et résoudre ce code d’état HTTP
Pourquoi votre site affiche-t-il une erreur 406 ?
Les en-têtes Accept mal configurés sont-ils à l’origine de l’erreur 406 ?
Oui. C’est la cause la plus fréquente. Les en-têtes de négociation de contenu concernés sont les suivants :
- Accept : définit les types MIME acceptés (ex. : text/html, application/json). Si le serveur ne peut fournir aucun de ces formats, il renvoie une erreur 406.
- Accept-Encoding : spécifie les méthodes de compression acceptées (gzip, br, etc.). Un format non pris en charge côté serveur déclenche l’erreur.
- Accept-Charset : indique les jeux de caractères acceptés. Des tables de caractères non reconnues, en dehors de la norme ISO-8859, peuvent provoquer un refus.
- Accept-Language : précise la langue souhaitée. Si la ressource n’existe pas dans cette langue et que le serveur n’a pas de version par défaut, l’erreur apparaît.
- Accept-Ranges : certains serveurs limitent la taille des fichiers transmis par mesure de sécurité. Un dépassement de cette plage entraîne un 406.
Le module mod_security d’Apache déclenche-t-il l’erreur 406 ?
Absolument. C’est l’une des causes les plus sous-estimées. Le module mod_security est un pare-feu applicatif web (WAF) intégré aux serveurs Apache. Son rôle est de filtrer les requêtes suspectes selon un ensemble de règles prédéfinies. Problème : il génère régulièrement des faux positifs.
Lorsque mod_security identifie une requête légitime comme une violation de ses règles, il bloque la réponse et retourne une erreur 406. Ce scénario est particulièrement courant sur WordPress, notamment lors de l’enregistrement d’un article ou d’une page dans l’interface d’administration.
Les conflits de plugins ou de thèmes WordPress provoquent-ils une erreur 406 ?
Oui, fréquemment. Les plugins et thèmes WordPress injectent du code supplémentaire dans les fichiers du site. En cas de mise à jour qu’il s’agisse du cœur WordPress, d’un plugin ou d’un thème des incompatibilités peuvent surgir et perturber la communication entre le client et le serveur.
Certains plugins accèdent directement à la base de données et modifient des paramètres qui, en cas de conflit, peuvent générer des erreurs HTTP, dont la 406.
Un cache corrompu ou des cookies défaillants peuvent-ils causer une erreur 406 ?
Oui. Des fichiers de cache ou des cookies corrompus peuvent pousser le navigateur à envoyer des en-têtes incorrects ou incohérents. Le serveur, incapable d’interpréter ces données, peut alors retourner une erreur 406. Ce cas de figure est plus courant qu’on ne le pense, notamment sur des plateformes de streaming ou des applications en ligne.
Comment corriger l’erreur 406 Not Acceptable étape par étape ?
Avant toute intervention, sauvegardez votre site. Toute modification de fichiers sources ou de configuration peut avoir des effets indésirables. Un backup vous permettra de restaurer l’état initial si une manipulation aggrave la situation.
Étape 1 : Vérifier l’URL demandée
Commencez par le plus simple. Vérifiez que l’URL saisie est correcte, une faute de frappe peut parfois suffire à provoquer une erreur. Méfiez-vous également des URL contenant des extensions comme .php ou .json ajoutées manuellement : le serveur peut les interpréter comme une demande de format spécifique, qu’il n’est pas en mesure de satisfaire.
Essayez de charger une autre page du même site pour déterminer si l’erreur est localisée à une ressource précise ou généralisée.
Étape 2 : Vider le cache et les cookies du navigateur
Si vous êtes un utilisateur, c’est souvent la solution la plus rapide. Voici comment procéder :
- Accédez aux paramètres de votre navigateur
- Recherchez la section « Confidentialité » ou « Historique »
- Sélectionnez « Vider le cache » et « Supprimer les cookies »
- Rechargez la page
Cette manipulation élimine les fichiers temporaires corrompus qui pourraient perturber les en-têtes de la requête.
Étape 3 : Désactiver ou reconfigurer mod_security via le fichier .htaccess
Si vous êtes administrateur et que vous suspectez mod_security, voici la méthode la plus directe pour neutraliser son interférence. Créez ou modifiez le fichier .htaccess dans le répertoire wp-admin (pour WordPress) et ajoutez les lignes suivantes :
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
Cette directive désactive les filtres mod_security pour ce répertoire spécifique, sans impacter la sécurité globale du serveur. Si vous ne souhaitez pas modifier mod_security vous-même, contactez directement votre hébergeur : il peut désactiver le module pour votre compte ou votre adresse IP.
Étape 4 : Vérifier et corriger le fichier .htaccess principal
Pour les sites WordPress, un fichier .htaccess mal formé dans le répertoire public_html peut également provoquer une erreur 406. Ouvrez ce fichier avec un éditeur de texte et vérifiez que les lignes entre les balises # BEGIN WordPress et # END WordPress correspondent bien à ce modèle :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Toute ligne parasite ou mal écrite dans ce bloc peut perturber le traitement des requêtes.
➡️ HTTP 504 : Voici comment corriger cette erreur (2026)
Étape 5 : Identifier le plugin ou le thème responsable
Désactivez tous vos plugins en une seule opération depuis le tableau de bord WordPress (Plugins > Plugins installés > Désactiver tout). Rechargez ensuite la page concernée. Si l’erreur 406 disparaît, réactivez les plugins un par un en testant à chaque fois. Dès que l’erreur réapparaît, vous avez identifié le fautif.
Appliquez la même logique avec votre thème actif en le remplaçant temporairement par un thème par défaut WordPress (Twenty Twenty-Four, par exemple).
Étape 6 : Analyser les logs du serveur
Les logs sont votre meilleur allié pour comprendre l’origine précise d’une erreur 406. Ils enregistrent toutes les requêtes reçues par le serveur, avec leur statut et leur horodatage. Vous y trouverez le moment exact où l’erreur s’est produite et la ressource impliquée.
Accédez aux logs via votre panneau de contrôle d’hébergement (cPanel, Plesk, etc.) ou via SSH. Recherchez les entrées contenant « 406 » pour les isoler. Des outils comme Google Search Console permettent également de détecter des erreurs HTTP récurrentes sur votre site.
Étape 7 : Reconfigurer les en-têtes Accept
Si l’erreur 406 est causée par un décalage entre les en-têtes envoyés par le client et ce que le serveur peut fournir, voici comment diagnostiquer et corriger le problème :
- Examinez la requête HTTP : utilisez Postman ou cURL pour envoyer manuellement une requête et inspecter les en-têtes Accept
- Vérifiez la réponse du serveur : consultez l’en-tête
Content-Typede la réponse pour voir les formats disponibles - Ajustez la configuration du serveur : modifiez les paramètres de négociation de contenu, les mappings MIME ou le fichier .htaccess pour aligner les capacités du serveur avec les attentes du client
- Corrigez les en-têtes côté client : si le problème vient du code de votre application, ajustez les en-têtes Accept pour inclure des formats que le serveur peut réellement fournir
Étape 8 : Contacter votre hébergeur
Si aucune des étapes précédentes n’a résolu le problème, contactez le support technique de votre hébergeur. Communiquez-lui les informations suivantes : l’URL exacte concernée, les logs d’erreur que vous avez récupérés, et les actions déjà entreprises. Les hébergeurs ont un accès direct à la configuration du serveur et peuvent intervenir là où vous ne le pouvez pas.
Comment prévenir l’erreur 406 à l’avenir ?
Une fois l’erreur résolue, voici les bonnes pratiques pour éviter qu’elle ne revienne :
- Limitez le nombre de plugins : installez uniquement ce qui est indispensable, depuis des sources fiables. Chaque plugin supplémentaire est un vecteur potentiel de conflit.
- Effectuez des sauvegardes régulières : automatisez les backups de votre site et de votre base de données. Faites toujours une sauvegarde manuelle avant toute mise à jour ou modification de fichiers.
- Surveillez les logs en continu : une veille régulière des logs serveur permet de détecter les erreurs avant qu’elles n’affectent vos utilisateurs.
- Mettez à jour votre CMS et vos plugins : les mises à jour contiennent souvent des correctifs de compatibilité qui évitent les conflits.
- Nettoyez régulièrement votre base de données : utilisez un outil de nettoyage (comme WP-Optimize pour WordPress) pour supprimer les données obsolètes qui pourraient interférer avec le fonctionnement du site.
- Vérifiez la configuration des en-têtes : si vous développez une application web, intégrez des tests de négociation de contenu à votre pipeline de développement.
Quelle est la différence entre l’erreur 406 et les autres erreurs HTTP 4xx ?
Les erreurs 4xx désignent toutes des problèmes côté client, mais chacune a une signification bien distincte :
| Code | Nom | Signification |
|---|---|---|
| 400 | Bad Request | La requête est mal formée ou contient une erreur de syntaxe |
| 403 | Forbidden | Le serveur comprend la requête mais refuse de l’exécuter |
| 404 | Not Found | La ressource demandée n’existe pas |
| 405 | Method Not Allowed | La méthode HTTP utilisée n’est pas autorisée |
| 406 | Not Acceptable | Le serveur comprend la requête mais ne peut pas fournir la réponse dans le format demandé |
La nuance est importante : contrairement à une erreur 404 où la ressource est absente, lors d’une erreur 406, la ressource existe bel et bien. C’est la forme de la réponse qui pose problème, pas son contenu.
Résoudre l’erreur 406 : une affaire de méthode
L’erreur 406 « Not Acceptable » n’est pas une fatalité. Elle signale un désaccord précis entre ce que votre navigateur demande et ce que votre serveur peut fournir. Une fois ce désaccord identifié qu’il vienne d’un en-tête mal configuré, d’un module de sécurité trop restrictif, ou d’un plugin en conflit, la résolution suit naturellement.
Abordez le diagnostic avec méthode : commencez par les vérifications les plus simples (URL, cache, cookies), puis montez progressivement vers les configurations serveur. Documentez chaque étape. Et si le problème persiste, n’hésitez pas à solliciter votre hébergeur, c’est précisément pour ça qu’il est là.
➡️ Erreur 400 Bad Request : 5 solutions rapides (2026)
FAQ sur l’erreur 406 Not Acceptable
Qu’est-ce qui cause principalement une erreur 406 sur un site WordPress ?
Sur WordPress, les causes les plus fréquentes sont le module mod_security qui bloque une requête légitime, un conflit entre plugins ou thèmes, et un fichier .htaccess mal configuré. La désactivation temporaire des plugins et la vérification du fichier .htaccess permettent généralement d’isoler rapidement la source du problème.
L’erreur 406 est-elle une erreur côté client ou côté serveur ?
Bien qu’elle appartienne à la catégorie des erreurs 4xx (traditionnellement associées au client), l’erreur 406 peut être d’origine serveur. Un serveur mal configuré, des règles de sécurité trop strictes ou des mappings MIME incorrects sont autant de causes côté serveur qui génèrent ce code d’erreur.
Comment savoir si mod_security est à l’origine de l’erreur 406 ?
Consultez les logs de votre serveur et recherchez des entrées mentionnant « mod_security » ou « ModSecurity » associées au code 406. Vous pouvez également essayer de désactiver temporairement mod_security via le fichier .htaccess ou demander à votre hébergeur de confirmer si une règle de sécurité a récemment été mise à jour.
L’erreur 406 affecte-t-elle le référencement (SEO) de mon site ?
Une erreur 406 persistante peut impacter négativement votre référencement. Les robots des moteurs de recherche enregistrent les erreurs HTTP lors de l’exploration de votre site. Si des pages importantes retournent régulièrement une erreur 406, elles peuvent être déclassées ou exclues de l’index. Il est donc important de résoudre l’erreur rapidement et de surveiller votre site via Google Search Console.
Puis-je corriger l’erreur 406 sans accès à la configuration du serveur ?
Partiellement. En tant qu’utilisateur, vous pouvez vider votre cache, supprimer vos cookies et vérifier vos paramètres de navigateur. En tant qu’administrateur de site sans accès serveur, vous pouvez agir sur les plugins, les thèmes et le fichier .htaccess. Pour les configurations plus profondes (mod_security, mappings MIME), vous devrez contacter votre hébergeur.
Combien de temps faut-il pour résoudre une erreur 406 ?
Cela dépend de la cause. Si le problème vient du cache navigateur ou d’un plugin identifiable, quelques minutes suffisent. Si l’erreur est liée à une mauvaise configuration des en-têtes HTTP ou à mod_security, comptez entre 30 minutes et quelques heures, selon votre niveau d’accès au serveur et la complexité de votre environnement.

