Contexte
Après l’activation de HTTPS et quelques réglages côté CDN, le site WordPress est devenu inaccessible avec l’erreur navigateur ERR_TOO_MANY_REDIRECTS. Cette situation survient fréquemment quand plusieurs couches redirigent en même temps: WordPress, serveur (Apache/Nginx), plugin SSL et Cloudflare. L’objectif était de casser la boucle, puis de converger vers une configuration simple et stable.
Symptômes observés
- Erreur navigateur: ERR_TOO_MANY_REDIRECTS.
- Accès admin impossible, parfois alternance http/https dans les URLs.
- Cloudflare actif avec mode SSL non aligné sur l’origine.
- Cache CDN qui conserve une redirection erronée.
Objectifs du dépannage
- Rétablir l’accès au site et à
/wp-admin. - Aligner une seule stratégie de redirection (HTTPS + domaine canonique).
- Supprimer les redirections doublonnées (plugin + serveur + Cloudflare).
- Stabiliser la configuration et vérifier la conformité (cookies, formulaires).
Diagnostic (pistes prioritaires)
- Contrôle Cloudflare: mode SSL (Flexible/Full/Strict) et règles de redirection.
- Contrôle WordPress:
homeetsiteurl(http vs https). - Contrôle serveur: règles
.htaccess(Apache) ou conf Nginx. - Contrôle plugin SSL (p. ex. Really Simple SSL): redirections internes.
- Test en contournant Cloudflare (si possible) pour isoler la couche en cause.
Cause identifiée
La boucle venait d’un conflit entre: (1) Cloudflare en mode SSL qui n’était pas cohérent avec le certificat côté hébergement, et (2) une redirection HTTPS active à la fois dans WordPress et dans les règles serveur. Résultat: alternance http/https et redirections qui se renvoient la balle.
Correctifs appliqués
1) Stabiliser Cloudflare
- Alignement du mode SSL Cloudflare sur l’origine (Full ou Full (strict) selon certificat).
- Désactivation des règles de redirection superflues côté Cloudflare, le temps du dépannage.
- Purge cache Cloudflare après correction.
2) Aligner les URLs WordPress
- Fix temporaire via
wp-config.phppour casser la boucle. - Puis mise à jour propre de
homeetsiteurl.
3) Nettoyer les redirections doublonnées
- Choix d’une seule couche pour forcer HTTPS (serveur ou Cloudflare, mais pas partout).
- Contrôle du plugin SSL et retrait des options qui doublonnent.
Exemple technique : forcer WP_HOME / WP_SITEURL (stabilisation)
Utile quand l’admin est inaccessible. À retirer une fois la base corrigée.
define('WP_HOME', 'https://www.exemple.ch');
define('WP_SITEURL', 'https://www.exemple.ch');
Exemple technique : corriger home/siteurl via WP-CLI
Approche propre, plus durable.
wp option update home "https://www.exemple.ch"
wp option update siteurl "https://www.exemple.ch"
Exemple technique : règle HTTPS simple (Apache)
À n’utiliser que si Cloudflare ne gère pas déjà la redirection. Éviter les doublons.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Exemple technique : détecter HTTPS derrière Cloudflare (wp-config.php)
Quand l’origine reçoit du HTTP depuis Cloudflare, WordPress peut « croire » être en HTTP.
if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
Résultats
- Site à nouveau accessible, plus de boucle de redirection.
- URLs canonisées (un seul domaine, un seul schéma HTTPS).
- Admin stable, formulaires et pages clés validés.
- Cache CDN purgé, comportement cohérent sur mobile et desktop.
Prévention mise en place
- Règle: une seule couche gère la redirection HTTPS (et elle est documentée).
- Contrôle systématique après changement DNS/CDN: home/siteurl, login, formulaires.
- Revue des plugins SSL pour éviter les doublons avec serveur/Cloudflare.
Points clés à retenir
- ERR_TOO_MANY_REDIRECTS est presque toujours un conflit entre plusieurs redirections actives.
- Aligner Cloudflare, serveur et WordPress sur une stratégie unique résout durablement.
- La purge cache CDN est indispensable après correction, sinon la boucle peut persister.