ERR_TOO_MANY_REDIRECTS : comment corriger cette erreur (tous les navigateurs)

Point clé

ERR_TOO_MANY_REDIRECTS (« vous a redirigé à de trop nombreuses reprises » dans Chrome, « trop de redirections » dans Safari) signifie qu'une page a redirigé votre navigateur plus de 20 fois sans se charger : c'est la limite commune à Chrome, Edge, Firefox et Safari. Côté visiteur, supprimez les cookies de ce site. Côté propriétaire, forcez HTTPS (et www) à un seul endroit : la plupart des boucles viennent du mode Flexible SSL de Cloudflare combiné à une redirection HTTPS sur le serveur.

Vérifiez maintenant

Guide de correction de l'erreur ERR_TOO_MANY_REDIRECTS montrant les causes des boucles de redirection et les solutions étape par étape
Guide de correction de l'erreur ERR_TOO_MANY_REDIRECTS montrant les causes des boucles de redirection et les solutions étape par étape
Commencer la lecture
  1. Qu'est-ce que ERR_TOO_MANY_REDIRECTS ?
  2. Quelles sont les causes des boucles de redirection ?
  3. Comment diagnostiquer une boucle de redirection
  4. Correction 1 : vider les cookies et le cache du navigateur
  5. Correction 2 : vérifier la configuration SSL/HTTPS
  6. Correction 3 : corriger les boucles de redirection Cloudflare
  7. Correction 4 : corriger les règles de redirection .htaccess (Apache)
  8. Correction 5 : corriger les boucles de redirection WordPress
  9. Correction 6 : corriger les redirections au niveau serveur (Nginx et Apache)
  10. Correction 7 : dépannage spécifique au navigateur
  11. Correction 8 : boucles de redirection à la connexion dans les applications web
  12. Comment prévenir les boucles de redirection
  13. Impact SEO des boucles de redirection
  14. Questions fréquemment posées

Qu'est-ce que ERR_TOO_MANY_REDIRECTS ?

ERR_TOO_MANY_REDIRECTS signifie que la page a renvoyé votre navigateur vers une autre adresse plus de 20 fois sans jamais se charger : une boucle de redirection. Chrome affiche « Cette page ne fonctionne pas » et « example.com vous a redirigé à de trop nombreuses reprises. », Edge affiche le même code d'erreur, Firefox indique « La page n’est pas redirigée correctement » et Safari « Safari ne parvient pas à ouvrir la page » (sur iPhone : « Safari ne peut pas ouvrir la page car il y a eu trop de redirections »).

Si vous visitez le site, supprimez les cookies de ce site et rechargez la page : quand le site fonctionne pour tout le monde sauf vous, un cookie obsolète est la cause habituelle. Si c'est votre site, la boucle vient presque toujours de HTTPS (ou www) forcé à deux endroits à la fois, le plus souvent le mode Flexible SSL de Cloudflare plus une redirection HTTPS sur le serveur.

Vérifiez votre chaîne de redirection maintenant

NavigateurMessage affichéRedirections suivies
ChromeCette page ne fonctionne pas · « … vous a redirigé à de trop nombreuses reprises. » · ERR_TOO_MANY_REDIRECTS20 (kMaxRedirects de Chromium)
EdgeUne page d'erreur similaire · ERR_TOO_MANY_REDIRECTS20 (Chromium)
FirefoxLa page n’est pas redirigée correctement20 (network.http.redirection-limit)
SafariSafari ne parvient pas à ouvrir la page · « Trop de redirections sont survenues en tentant d’ouvrir… » (Mac) · « Safari ne peut pas ouvrir la page car il y a eu trop de redirections » (iPhone)20 (Web Inspector : « Load cannot follow more than 20 redirections »)
Console des DevTools de Chrome et d'Edgenet::ERR_TOO_MANY_REDIRECTS20 (c'est aussi la limite du Fetch Standard)

La limite est la même partout parce que le Fetch Standard qu'appliquent les navigateurs l'impose : « If request's redirect count is 20, then return a network error. » (au bout de 20 redirections, la requête échoue avec une erreur réseau). La boucle elle-même se compose généralement de deux réponses 301 ou 302 qui pointent l'une vers l'autre : l'URL A vous envoie vers l'URL B, l'URL B vous renvoie vers A, et le navigateur arrête de compter à 20.

Quelles sont les causes des boucles de redirection ?

Les boucles de redirection se produisent lorsque deux règles de redirection ou plus entrent en conflit. Le serveur envoie le navigateur vers une URL, et cette URL renvoie le navigateur en arrière. Voici les causes les plus courantes :

  • Mauvaise configuration SSL/HTTPS — La cause la plus fréquente. Votre serveur force la redirection HTTP vers HTTPS, mais votre CDN ou répartiteur de charge se connecte à l'origine en HTTP, créant une boucle : CDN → HTTP → le serveur redirige vers HTTPS → le CDN supprime HTTPS → HTTP → boucle
  • Cloudflare Flexible SSL — Le mode Flexible SSL de Cloudflare envoie les requêtes à votre serveur d'origine en HTTP. Si votre origine possède également une redirection HTTP vers HTTPS, cela crée une boucle infinie entre Cloudflare et votre serveur
  • Règles .htaccess conflictuelles — Plusieurs règles de redirection dans .htaccess qui se contredisent, comme une règle forçant www et une autre forçant sans www simultanément
  • URLs WordPress non concordantes — L'adresse WordPress (URL) et l'adresse du site (URL) dans Réglages > Général ne correspondent pas, ou l'une utilise HTTP tandis que l'autre utilise HTTPS
  • Cookies obsolètes du navigateur — D'anciens cookies contenant des instructions de redirection ou des données de session qui forcent le navigateur vers une URL qui n'existe plus ou a été déplacée
  • Redirections en cache du CDN ou proxy — Votre CDN a mis en cache une ancienne redirection 301 qui entre maintenant en conflit avec la configuration actuelle de votre serveur
  • Conflits de configuration serveur — Des fichiers de configuration Nginx ou Apache avec des blocs de redirection concurrents, comme une redirection à la fois dans le bloc serveur et dans .htaccess
  • Boucles de connexion dans les applications web — une page de connexion qui redirige les visiteurs déconnectés vers elle-même, ou un cookie de session que le navigateur refuse d'enregistrer (OAuth, Supabase Auth, NextAuth). Voir la correction 8

Comment diagnostiquer une boucle de redirection

Avant d'essayer des corrections, identifiez la chaîne de redirection exacte. Cela vous indique précisément quelles URLs sont impliquées et quelles règles de redirection causent la boucle.

Méthode 1 : utiliser curl pour tracer les redirections

Le moyen le plus rapide de visualiser une chaîne de redirection est d'utiliser curl dans votre terminal. L'option -I récupère uniquement les en-têtes, -L suit les redirections et --max-redirs limite le nombre de redirections à suivre :

bash
# Trace redirect chain (limit to 10 hops)
curl -ILs --max-redirs 10 https://example.com 2>&1 | grep -i 'HTTP/\|location:'

# Example output showing a redirect loop:
# HTTP/2 301
# location: http://example.com/
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com/
# HTTP/2 301
# location: http://example.com/
# (repeats...)

Si vous voyez les mêmes deux URLs alterner dans les en-têtes Location, vous avez confirmé une boucle de redirection. Notez les codes de statut : 301 est une redirection permanente que les navigateurs mettent en cache, 302 une redirection temporaire qui n'est pas mise en cache, sauf si la réponse l'indique.

Regardez le schéma de chaque en-tête Location : une boucle entre les versions http:// et https:// d'une même URL est le cas le plus courant, et elle désigne directement un réglage SSL.

Méthode 2 : onglet réseau des DevTools du navigateur

Vous pouvez également tracer les redirections visuellement dans Chrome DevTools :

  • Étape 1 — Ouvrez Chrome DevTools avec F12 ou Ctrl+Shift+I (Mac : Cmd+Option+I)
  • Étape 2 — Allez dans l'onglet Network et cochez Preserve log (cela conserve les entrées entre les redirections)
  • Étape 3 — Chargez la page qui déclenche l'erreur
  • Étape 4 — Observez la séquence de requêtes. Chaque redirection apparaît comme une entrée distincte avec le statut 301 ou 302. La colonne Location indique où chaque redirection pointe

L'onglet Network affiche la chaîne de redirection complète par ordre chronologique. Vous verrez le schéma : généralement deux ou trois URLs se répétant en boucle. Utilisez le Vérificateur d'en-têtes HTTP de DNS Robot pour inspecter les en-têtes de réponse en dehors du cache de votre navigateur.

Méthode 3 : vérificateur de redirections en ligne

Si vous n'avez pas de terminal, collez l'URL dans le Vérificateur de redirections de DNS Robot. Il suit chaque saut depuis notre serveur, affiche chaque code de statut et chaque en-tête Location, et signale quand la chaîne revient sur elle-même. Il fonctionne sans les cookies de votre navigateur : il vous dit donc tout de suite si la boucle vient du site ou de votre navigateur.

Correction 1 : vider les cookies et le cache du navigateur

Commencez par la correction la plus simple. Les cookies obsolètes ou les redirections en cache dans votre navigateur peuvent provoquer des boucles même lorsque la configuration du serveur est correcte. C'est particulièrement courant après la migration d'un site de HTTP vers HTTPS : les anciens cookies peuvent encore référencer des URLs HTTP.

Vider les cookies dans Chrome

Videz les cookies du site concerné plutôt que tous les cookies : cela préserve vos connexions sur les autres sites :

  • Étape 1 — Cliquez sur l'icône du cadenas (ou l'icône de réglage) dans la barre d'adresse à côté de l'URL
  • Étape 2 — Cliquez sur Paramètres des sites
  • Étape 3 — Cliquez sur Supprimer les données pour supprimer les cookies et les données en cache de ce site uniquement
  • Étape 4 — Rechargez la page
bash
# Chrome keyboard shortcut to open Delete browsing data:
# Windows/Linux: Ctrl + Shift + Delete
# macOS: Cmd + Shift + Delete

Ou effacez tout pour tous les sites : appuyez sur Ctrl+Shift+Delete (Mac : Cmd+Shift+Delete) pour ouvrir Supprimer les données de navigation, cochez Cookies et autres données des sites et Images et fichiers en cache, choisissez Depuis le début, puis cliquez sur Supprimer les données.

Vider les cookies dans Firefox et Safari

Firefox : Appuyez sur Ctrl+Shift+Delete (Mac : Cmd+Shift+Delete), cochez Cookies et données de sites et Fichiers et pages mis en cache temporairement, définissez la période sur tout et cliquez sur Effacer.

Safari : allez dans Safari > Réglages > Confidentialité > Gérer les données de sites web, recherchez le domaine concerné, sélectionnez-le et cliquez sur Supprimer. Ensuite, videz le cache avec Cmd+Option+E.

Si la suppression des cookies corrige l'erreur, une règle de redirection a récemment changé sur le serveur et votre navigateur conservait l'ancien état. Les visiteurs avec une session neuve ne verront peut-être jamais l'erreur.

Gmail, Google Drive ou accounts.google.com « vous a redirigé à de trop nombreuses reprises »

Quand Chrome affiche « Cette page ne fonctionne pas » avec « accounts.google.com vous a redirigé à de trop nombreuses reprises. » et le lien « Essayez de supprimer vos cookies. », ou que le message cite mail.google.com ou drive.google.com, la boucle se joue entre les pages de connexion de Google et les cookies de votre navigateur, pas sur un site en panne. La connexion Google ne fonctionne que si le navigateur conserve les cookies de Google : tout ce qui les bloque ou les réécrit vous fait tourner en rond :

  • Supprimez uniquement les cookies de Google — ouvrez chrome://settings/content/all (Tous les sites), recherchez google.com, supprimez ses données et reconnectez-vous. Comme l'indique l'aide de Google, vous devrez ensuite vous reconnecter à votre compte Google dans ce navigateur
  • Autorisez les cookies pour Google — retirez google.com de toute liste de sites non autorisés à utiliser des cookies et, si vous bloquez les cookies tiers, ajoutez [*.]google.com aux Sites autorisés à utiliser des cookies tiers (Chrome : Paramètres → Confidentialité et sécurité → Cookies tiers)
  • Déconnectez-vous de tous les comptes, puis connectez-vous avec un seul — plusieurs comptes connectés en même temps, ou un compte professionnel qui confie la connexion à la page de connexion de l'entreprise, peuvent rebondir de l'un à l'autre
  • Désactivez les extensions de cookies et de confidentialité — les extensions qui suppriment ou réécrivent les cookies pendant la connexion sont un déclencheur fréquent. Chrome laisse les extensions désactivées en navigation privée tant que vous ne les y autorisez pas : essayez donc d'abord une fenêtre de navigation privée

Correction 2 : vérifier la configuration SSL/HTTPS

La mauvaise configuration SSL est la cause numéro 1 des boucles de redirection. Le scénario le plus courant est un conflit entre votre CDN/proxy et votre serveur d'origine sur l'utilisation de HTTP ou HTTPS.

Voici ce qui se passe généralement : votre CDN se connecte à l'origine en HTTP (car il gère la terminaison SSL), mais l'origine possède une redirection HTTP vers HTTPS. L'origine renvoie le CDN vers HTTPS, le CDN supprime HTTPS et renvoie du HTTP : boucle infinie.

Un certificat défectueux derrière la même configuration provoque une autre erreur ; voir ERR_SSL_PROTOCOL_ERROR et « Votre connexion n'est pas privée ».

  • Vérifiez votre certificat SSL — Utilisez le Vérificateur de certificat SSL de DNS Robot pour vérifier que votre certificat est valide, non expiré et couvre le bon domaine
  • Faites correspondre les protocoles — Si votre CDN gère la terminaison SSL, supprimez la redirection HTTP vers HTTPS sur votre origine, ou configurez le CDN pour se connecter à l'origine en HTTPS
  • Vérifiez les paramètres de HTTPS forcé — Si vous avez à la fois une redirection au niveau du serveur (Nginx/Apache) ET une redirection au niveau du CDN pour forcer HTTPS, supprimez-en une
  • Vérifiez l'en-tête X-Forwarded-Proto — Derrière un proxy, votre origine doit vérifier cet en-tête au lieu du protocole de connexion brut pour déterminer si la requête originale était en HTTPS

Correction 3 : corriger les boucles de redirection Cloudflare

Cloudflare est le déclencheur le plus courant, car son mode de chiffrement détermine s'il joint votre serveur en HTTP ou en HTTPS. La page de dépannage de Cloudflare (mise à jour en septembre 2026) liste cinq réglages qui créent une boucle, chacun face à un comportement de votre serveur d'origine :

Réglage CloudflareBoucle quand votre serveur…Correction
Mode SSL/TLS Flexibleredirige HTTP vers HTTPS (Cloudflare le joint en HTTP)Passez le mode à Full (strict) ou supprimez la redirection HTTPS du serveur
Full ou Full (strict)redirige HTTPS vers HTTPSupprimez la redirection HTTP du serveur
Always Use HTTPSredirige HTTPS vers HTTPSupprimez la redirection HTTP du serveur, ou désactivez ce réglage
HSTSredirige HTTPS vers HTTP, ou le mode de chiffrement est sur OffSupprimez la redirection HTTP et gardez le mode sur Flexible ou plus
Redirect Rules / Page Rulesdeux règles se renvoient la requête (HTTP ↔ HTTPS, www ↔ sans www)Supprimez ou fusionnez les règles en conflit

La correction habituelle d'une boucle de redirection Cloudflare : changez votre mode de chiffrement SSL/TLS de Flexible à Full ou Full (Strict). Cela indique à Cloudflare de se connecter à votre origine en HTTPS, éliminant ainsi la boucle HTTP vers HTTPS.

Correction Cloudflare étape par étape

  • Étape 1 — Connectez-vous au tableau de bord Cloudflare
  • Étape 2 — Sélectionnez votre domaine
  • Étape 3 — Allez dans SSL/TLS > Overview
  • Étape 4 — Passez le mode de chiffrement à Full (strict) si votre origine a un certificat valide (un certificat Cloudflare Origin CA gratuit compte), ou à Full uniquement s'il est auto-signé
  • Étape 5 — Allez dans SSL/TLS > Edge Certificates et vérifiez si Always Use HTTPS est activé. Si votre origine redirige déjà vers HTTPS, désactivez cette option pour éviter une double redirection
  • Étape 6 — Vérifiez les Page Rules et Redirect Rules pour d'éventuelles redirections d'URL conflictuelles
  • Étape 7 — Purgez le cache Cloudflare : allez dans Caching > Configuration > Purge Everything

Correction 4 : corriger les règles de redirection .htaccess (Apache)

Sur les serveurs Apache, .htaccess est l'emplacement le plus courant pour les règles de redirection et l'endroit où les boucles de redirection naissent le plus souvent. Des règles conflictuelles, des redirections en double ou des conditions manquantes peuvent toutes créer des boucles.

  • Recherchez les redirections HTTPS en double — Si votre panneau d'hébergement (cPanel, Plesk) force HTTPS, supprimez la redirection manuelle dans .htaccess
  • Vérifiez les conditions RewriteCond — Chaque RewriteRule qui redirige doit avoir un RewriteCond qui empêche son déclenchement sur les URLs déjà conformes. Sans cela, la règle s'exécute à chaque requête, y compris celle déjà redirigée
  • Attention au drapeau [L] — Le drapeau [L] signifie 'dernière règle' mais uniquement pour le passage en cours. Si un autre .htaccess existe dans un sous-répertoire, il s'exécute à nouveau. Utilisez [END] sur Apache 2.4+ à la place
  • Vérifiez les en-têtes de proxy — Derrière un CDN, utilisez %{HTTP:X-Forwarded-Proto} au lieu de %{HTTPS} pour détecter le protocole d'origine
bash
# Correct HTTPS redirect behind Cloudflare/CDN:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Si vous ne savez pas quelle règle cause la boucle, renommez temporairement .htaccess en .htaccess.bak et testez si le site se charge. Si c'est le cas, le problème se trouve dans votre fichier .htaccess. Réactivez les règles une par une jusqu'à trouver celle qui pose problème.

Correction 5 : corriger les boucles de redirection WordPress

Les boucles de redirection WordPress proviennent généralement de trois sources : des URLs non concordantes dans les Réglages, des conflits de plugins ou des valeurs incorrectes dans wp-config.php. Si vous ne pouvez pas accéder au tableau de bord WordPress à cause de la boucle de redirection, vous devrez corriger le problème directement via la base de données ou les fichiers de configuration.

Vérifier les paramètres d'URL WordPress

WordPress possède deux paramètres d'URL qui doivent correspondre : Adresse web de WordPress (URL) et Adresse web du site (URL) dans Réglages > Général. Si l'une utilise http:// et l'autre https://, ou si l'une inclut www. et l'autre non, vous obtiendrez une boucle de redirection.

Si vous ne pouvez pas accéder au tableau de bord, définissez les URLs directement dans wp-config.php :

bash
// Add these lines to wp-config.php (above "That's all, stop editing!"):
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

// If behind a reverse proxy (Cloudflare, Nginx proxy):
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Désactiver les plugins pour trouver les conflits

Les plugins de redirection et de cache sont souvent en cause. Des plugins comme Redirection, Yoast SEO, Really Simple SSL, WP Super Cache et W3 Total Cache peuvent ajouter des règles de redirection qui entrent en conflit avec la configuration de votre serveur ou CDN.

Si vous ne pouvez pas accéder au tableau de bord, désactivez tous les plugins via FTP ou SSH :

bash
# Rename the plugins folder to disable all plugins at once:
cd /var/www/html/wp-content/
mv plugins plugins.bak

# If the site loads, rename it back and disable plugins one by one:
mv plugins.bak plugins
# Then rename individual plugin folders to find the culprit:
mv plugins/really-simple-ssl plugins/really-simple-ssl.bak

Si la désactivation des plugins corrige l'erreur, réactivez-les un par un pour identifier le plugin fautif. Les coupables les plus courants sont les plugins SSL qui ajoutent des redirections HTTP vers HTTPS alors que votre serveur ou CDN gère déjà cette tâche.

Correction 6 : corriger les redirections au niveau serveur (Nginx et Apache)

Les fichiers de configuration serveur peuvent contenir des règles de redirection qui entrent en conflit avec les redirections au niveau applicatif (WordPress, .htaccess) ou les paramètres du CDN.

Nginx : rechercher les conflits de redirection

Les boucles de redirection Nginx surviennent généralement lorsque le bloc serveur HTTP redirige vers HTTPS, mais quelque chose dans le bloc HTTPS redirige vers HTTP. Vérifiez la configuration de votre site :

bash
# Correct Nginx HTTPS redirect (separate server blocks):
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;
    # SSL certificate configuration here
    # DO NOT add another redirect to HTTPS here
}

# If behind Cloudflare/proxy, check real protocol:
server {
    listen 80;
    server_name example.com;
    if ($http_x_forwarded_proto != 'https') {
        return 301 https://example.com$request_uri;
    }
}

Exécutez nginx -t après chaque modification pour détecter les erreurs de syntaxe, puis systemctl reload nginx pour appliquer le changement sans interruption de service.

Apache : vérifier les redirections VirtualHost

Sous Apache, vérifiez à la fois la configuration VirtualHost et .htaccess. Une redirection dans la configuration VirtualHost plus une redirection dans .htaccess crée une double redirection qui peut boucler :

bash
# Check Apache config for redirect rules:
grep -r 'Redirect\|RewriteRule' /etc/apache2/sites-enabled/
grep -r 'Redirect\|RewriteRule' /etc/httpd/conf.d/

# Check .htaccess:
cat /var/www/html/.htaccess | grep -i 'rewrite\|redirect'

Supprimez les redirections en double : ne conservez la redirection qu'à un seul endroit. La bonne pratique est de gérer les redirections HTTPS dans la configuration VirtualHost (pas dans .htaccess) car les règles VirtualHost sont traitées une fois par requête tandis que .htaccess est traité à chaque requête.

Correction 7 : dépannage spécifique au navigateur

Si l'erreur n'apparaît que dans un seul navigateur, il s'agit probablement d'une redirection en cache ou d'un conflit d'extension plutôt que d'un problème serveur.

Chrome : effacer le HSTS et le pool de sockets

Chrome met en cache les politiques HSTS (HTTP Strict Transport Security) qui forcent HTTPS. Si un site a précédemment envoyé un en-tête HSTS mais n'utilise plus correctement HTTPS, Chrome continuera à rediriger vers HTTPS même après avoir vidé les cookies.

  • Effacer le cache HSTS — Allez à chrome://net-internals/#hsts, entrez le domaine dans Delete domain security policies et cliquez sur Delete
  • Vider les pools de sockets — Allez à chrome://net-internals/#sockets et cliquez sur Flush socket pools pour effacer toute connexion en cache
  • Effacer le cache DNS — Allez à chrome://net-internals/#dns et cliquez sur Clear host cache (d'autres méthodes dans comment vider le cache DNS)
  • Tester en Navigation privée — Ouvrez une fenêtre de Navigation privée (Ctrl+Shift+N) et testez l'URL. Si cela fonctionne en Navigation privée mais pas en mode normal, une redirection en cache ou une extension est la cause

Corrections pour Firefox et Safari

Firefox : Tapez about:config dans la barre d'adresse, recherchez network.http.redirection-limit et vérifiez qu'il vaut 20 (la valeur par défaut). Une valeur plus basse, définie à la main ou par une stratégie d'entreprise, fait échouer les redirections plus tôt. Essayez aussi de supprimer les données du site : Paramètres > Vie privée et sécurité > Gérer les données > recherchez le domaine > Supprimer les sites sélectionnés.

Safari : sur Mac, Safari affiche « Safari ne parvient pas à ouvrir la page » avec « Trop de redirections sont survenues en tentant d’ouvrir “example.com”. » ; sur iPhone et iPad, « Safari ne peut pas ouvrir la page car il y a eu trop de redirections ». La console du Web Inspector indique « Load cannot follow more than 20 redirections » (le chargement ne peut pas suivre plus de 20 redirections ; ce message de WebKit n'est pas traduit). Allez dans Safari > Réglages > Confidentialité > Gérer les données de sites web, trouvez le domaine et cliquez sur Supprimer. Si la boucle persiste, testez une fenêtre privée : si elle boucle aussi, le site est mal configuré.

Correction 8 : boucles de redirection à la connexion dans les applications web

Dans une application web, la boucle vient souvent de votre propre code : une page qui exige un utilisateur connecté redirige vers /login, et quelque chose renvoie aussitôt /login (ou le callback de connexion) en arrière. La console du navigateur l'affiche sous la forme net::ERR_TOO_MANY_REDIRECTS sur la requête en échec.

  • La page de connexion est protégée elle aussi — un middleware d'authentification qui s'exécute sur toutes les routes redirige aussi /login et la route de callback vers /login. Excluez-les de la vérification
  • Le cookie de session n'est jamais conservé — un cookie défini avec SameSite=None doit aussi être Secure, sinon le navigateur l'ignore ; un cookie défini pour le mauvais domaine n'est jamais renvoyé. Dans les deux cas, chaque requête semble toujours déconnectée
  • L'URL de callback ne correspond pas — le fournisseur (Google, GitHub, Supabase Auth) envoie les utilisateurs vers un callback que votre application ne gère pas, et cette route redirige de nouveau vers la connexion
  • HTTP ou HTTPS derrière un proxy — l'application construit ses URLs de redirection en http:// parce qu'elle ignore X-Forwarded-Proto : la boucle de la correction 2, une couche plus haut
ts
// Next.js: proxy.ts (middleware.ts before Next.js 16).
// Never run the sign-in check on the sign-in pages themselves.
export const config = {
  matcher: ["/((?!login|auth/callback|_next/static|_next/image|favicon.ico).*)"],
};

Testez la correction avec le Vérificateur de redirections ou curl -IL en étant déconnecté : une chaîne saine se termine sur la page de connexion avec un 200, pas sur une nouvelle redirection.

Comment prévenir les boucles de redirection

Une fois l'erreur corrigée, suivez ces bonnes pratiques pour éviter que les boucles de redirection ne se reproduisent :

  • Redirigez à un seul endroit — Choisissez une seule couche pour votre redirection HTTPS : le CDN, le serveur web ou l'application. Ne redirigez jamais à plusieurs niveaux simultanément
  • Utilisez 302 pendant les tests — Pendant le débogage, utilisez des redirections 302 (temporaires) au lieu de 301 (permanentes). Les navigateurs mettent en cache les 301 de manière agressive, rendant les tests difficiles. Passez à 301 une fois que vous confirmez que la redirection fonctionne correctement
  • Testez toujours avec curl — Après avoir ajouté une règle de redirection, exécutez curl -ILs https://votresite.com | grep -i 'HTTP/\|location:' pour vérifier que la chaîne de redirection se termine par une réponse 200
  • Surveillez avec des outils — Utilisez régulièrement le Vérificateur d'en-têtes HTTP de DNS Robot pour vérifier que votre site renvoie une réponse 200 propre sans redirections inattendues
  • Documentez vos redirections — Tenez un registre de toutes les règles de redirection dans la configuration serveur, .htaccess, les règles CDN et les paramètres applicatifs. Quand plusieurs membres de l'équipe gèrent un site, les redirections non documentées sont la cause numéro 1 des boucles
  • Purgez le cache CDN après les modifications — Après avoir modifié une règle de redirection, purgez immédiatement le cache de votre CDN. Les anciennes 301 en cache peuvent persister pendant des jours

Une chaîne saine comporte un ou deux sauts au maximum (par exemple HTTP → HTTPS → 200 OK). Trois ou plus signalent généralement une redirection dont vous n'avez plus besoin.

Impact SEO des boucles de redirection

Les boucles de redirection font sortir les pages de la recherche. Selon la documentation de Google sur l'exploration, ses robots suivent jusqu'à 10 redirections ; une boucle n'atteint jamais le contenu, donc la Search Console signale une erreur de redirection et l'URL sort de l'index jusqu'à ce que la boucle soit corrigée.

Les longues chaînes coûtent même quand elles aboutissent : chaque saut est une requête de plus que le navigateur et Googlebot doivent faire avant que la page puisse se charger. Faites donc pointer liens et redirections directement vers l'URL finale.

  • Perte d'indexation — Les pages prises dans des boucles de redirection ne sont pas indexées et disparaissent complètement des résultats de recherche
  • Gaspillage du budget de crawl — Googlebot dépense son budget de crawl limité à suivre des redirections au lieu d'explorer du contenu réel
  • Pages plus lentes — chaque saut ajoute une requête et un aller-retour avant le chargement du moindre contenu, et un saut vers un autre hôte exige en plus une nouvelle connexion

Vérifiez votre chaîne de redirection maintenant

Collez l'URL dans le Vérificateur de redirections gratuit de DNS Robot : il suit chaque saut depuis notre serveur sans vos cookies, affiche chaque code de statut et en-tête Location, et vous indique quand la chaîne boucle.

Sources

  1. Fetch Standard: HTTP-redirect fetch (the 20-redirect limit), WHATWG
  2. ERR_TOO_MANY_REDIRECTS: SSL/TLS troubleshooting, Cloudflare
  3. How HTTP status codes and network errors affect Google's crawlers, Google Search Central
  4. net_error_list.h (ERR_TOO_MANY_REDIRECTS -310, ERR_TOO_MANY_RETRIES -375), Chromium

Questions fréquemment posées

Que signifie ERR_TOO_MANY_REDIRECTS ?

Cela signifie que la page a redirigé votre navigateur plus de 20 fois sans se charger : une boucle de redirection, généralement deux URLs qui vous renvoient de l'une à l'autre. Chrome, Edge, Firefox et Safari s'arrêtent tous à 20 redirections, la limite fixée par le Fetch Standard.

Comment corriger l'erreur trop de redirections dans Chrome ?

Quand Chrome indique « … vous a redirigé à de trop nombreuses reprises », supprimez les cookies du site (icône du cadenas ou des réglages > Paramètres des sites > Supprimer les données) et rechargez. Si la boucle continue, supprimez le domaine dans chrome://net-internals/#hsts et essayez une fenêtre de navigation privée. Si elle boucle aussi, le problème vient du serveur : ses réglages SSL, ses règles .htaccess ou la configuration du CDN.

Pourquoi Gmail ou accounts.google.com « vous a redirigé à de trop nombreuses reprises » ?

La connexion Google a besoin des cookies de Google. Supprimez les cookies de google.com, vérifiez que les cookies ne sont pas bloqués pour [*.]google.com, déconnectez-vous de tous les comptes puis reconnectez-vous avec un seul, et testez en navigation privée pour écarter une extension.

Pourquoi Cloudflare provoque-t-il ERR_TOO_MANY_REDIRECTS ?

Le mode Flexible SSL de Cloudflare joint votre serveur en HTTP : un serveur qui redirige HTTP vers HTTPS renvoie donc chaque requête dans une boucle. Passez le mode de chiffrement à Full (strict). L'inverse boucle aussi : le mode Full, Always Use HTTPS ou HSTS avec un serveur qui redirige HTTPS vers HTTP.

Les cookies peuvent-ils causer une boucle de redirection ?

Oui. Un cookie obsolète, antérieur au changement d'une règle de redirection, peut continuer à envoyer le navigateur vers l'ancienne adresse. Supprimer les cookies de ce seul site est toujours la première étape, et cela ne vous déconnecte nulle part ailleurs.

Comment corriger ERR_TOO_MANY_REDIRECTS dans WordPress ?

Faites en sorte que l'Adresse web de WordPress et l'Adresse web du site, dans Réglages > Général, utilisent le même schéma (https://) et la même forme www. Si la boucle vous bloque hors du tableau de bord, ajoutez define('WP_HOME', 'https://example.com') et define('WP_SITEURL', 'https://example.com') dans wp-config.php, puis désactivez un par un les plugins de redirection et de cache.

Pourquoi Safari affiche-t-il 'too many redirects occurred' ?

C'est le nom que Safari donne à la même erreur : sur Mac, « Trop de redirections sont survenues en tentant d’ouvrir… », sur iPhone, « Safari ne peut pas ouvrir la page car il y a eu trop de redirections ». Safari s'arrête lui aussi après 20 redirections, et son Web Inspector indique « Load cannot follow more than 20 redirections ». Supprimez les données du site dans Safari > Réglages > Confidentialité > Gérer les données de sites web et réessayez ; si une fenêtre privée boucle aussi, le site est mal configuré.

ERR_TOO_MANY_RETRIES est-elle la même erreur ?

Non. ERR_TOO_MANY_RETRIES (erreur Chromium -375) signifie que Chrome a réessayé une requête trop de fois, parce qu'un serveur ou un proxy redemandait sans cesse des identifiants ou présentait sans cesse un certificat non valide. ERR_TOO_MANY_REDIRECTS (-310) est une boucle de redirection. Pour la première, vérifiez un proxy, un VPN ou un antivirus qui analyse le trafic HTTPS.

Une boucle de redirection affecte-t-elle le SEO ?

Oui. Les robots de Google suivent jusqu'à 10 redirections ; une boucle n'atteint jamais le contenu, donc la Search Console signale une erreur de redirection et l'URL sort de l'index. Une fois la boucle corrigée, demandez une nouvelle indexation dans la Search Console.

Comment effacer une redirection 301 en cache ?

Supprimer les cookies n'efface pas un 301 en cache. Dans Chrome, ouvrez Supprimer les données de navigation (Ctrl+Shift+Delete), cochez Images et fichiers en cache et choisissez Depuis le début. Si la redirection concerne HTTPS, supprimez aussi le domaine dans chrome://net-internals/#hsts, et purgez le cache de votre CDN s'il a mis le 301 en cache.

À propos de l’auteur

Shaik Vahid

Fondateur de DNS Robot. Vahid a passé des années au support d’hébergement web à réparer les domaines, les enregistrements DNS, les certificats SSL et la distribution des e-mails de clients. Il développe les outils de DNS Robot et écrit ces guides à partir des erreurs que les gens rencontrent vraiment.

Vérificateur de Redirections

Vérifiez les redirections d'URL, les chaînes de redirection et les codes de statut HTTP pour le SEO