Guide terrain – pour comprendre vite et corriger proprement.
Erreur HTTP 307 : causes, diagnostic et solutions (Temporary Redirect)
Une “erreur 307” n’est pas une panne serveur : c’est une redirection temporaire.
Le problème, c’est quand elle est inattendue (HSTS, proxy, CDN, config)
ou bloquante (API, login, paiement).
Objectif : vous permettre d’identifier qui renvoie réellement la 307
(navigateur, CDN/proxy, serveur, application), puis d’appliquer la bonne correction
sans casser vos parcours sensibles.
Solutions rapides (30 secondes)
Si vous êtes bloqué, commencez ici : le but est de qualifier la cause la plus probable et d’appliquer une action immédiate.
| Symptôme | Cause probable | Action immédiate |
|---|---|---|
| “307 Internal Redirect” dans Chrome DevTools | HSTS / upgrade HTTP → HTTPS côté navigateur | Tester au curl -I + vider les données du site (cache/cookies) + test en navigation privée |
| ERR_TOO_MANY_REDIRECTS | Boucle http↔https / www↔non-www / slash | Voir la chaîne au curl -IL et casser la boucle (une seule règle doit gagner) |
| Une API en POST renvoie 307 | Proxy/CDN/LB réécrit l’URL ou force HTTPS | Lire Location + vérifier config Cloudflare / load balancer / reverse proxy |
| Le site marche chez certains, pas chez d’autres | Cache navigateur / HSTS / cache CDN | Tester autre navigateur/device + purge cache CDN si nécessaire |
Règle terrain
Si curl -I ne montre pas de 307 mais DevTools oui : vous êtes très probablement sur un
redirect interne navigateur (HSTS) — ce n’est pas “votre serveur qui renvoie 307”.
Qu’est-ce que l’erreur HTTP 307 ?
Le code HTTP 307 Temporary Redirect indique qu’une ressource a été déplacée temporairement.
Le serveur renvoie une nouvelle URL via l’en-tête Location, et le client suit la redirection en
conservant strictement la méthode HTTP (POST reste POST).
On parle “d’erreur 307” parce que, dans la pratique, elle apparaît souvent comme un comportement inattendu
(boucle, proxy, HSTS, règle CDN) qui bloque un accès, un formulaire ou une API.
Temporary Redirect
Redirection temporaire (3xx) – méthode conservée
| Type | Redirection temporaire (3xx) |
| En-tête clé | Location (URL de destination) |
| Méthode HTTP | Conservée (POST → POST, PUT → PUT) |
| Cas sensibles | Login, paiement, formulaire, endpoints API |
Besoin du cadre théorique complet ?
Consultez mon guide dédié au
code HTTP 307 (Temporary Redirect)
pour comprendre son fonctionnement, ses usages standards et les bonnes pratiques SEO.
Comment diagnostiquer une redirection 307 (méthode fiable)
Le but est d’identifier qui émet la 307 : navigateur, CDN/proxy, serveur (Nginx/Apache), application (plugin/middleware).
-
1Tester la réponse serveur (source de vérité)
Lancez un HEAD sur l’URL concernée et vérifiez le statut + l’en-tête Location.
Commande
curl -I https://votre-url.com/page -
2Inspecter la chaîne complète (détecter boucles / chaînes)
Si vous voyez plusieurs 3xx, c’est souvent une chaîne (ou une boucle) à corriger.
Commande
curl -IL https://votre-url.com/page -
3Comparer DevTools vs curl (détecter HSTS / redirect interne)
Si DevTools affiche une 307 mais pas curl : la 307 peut être interne au navigateur (HSTS / HTTPS forcé).
-
4Identifier l’émetteur
- Navigateur : “307 Internal Redirect”, HSTS, cache local.
- CDN / Proxy / Load Balancer : règles “Always HTTPS”, redirect rules, réécriture Location.
- Serveur : règles Nginx/Apache, vhosts, rewrite.
- Application : middleware, plugin, framework (login/API).
-
5Vérifier cache / cookies / HSTS
Test rapide : navigation privée + autre navigateur + autre device.
-
6Confirmer dans les logs serveur
Si la 307 est émise côté serveur, elle doit apparaître dans les logs (status 307 + URL + user-agent).
Sinon, vous êtes probablement sur une couche externe (CDN/proxy) ou client.
Piège classique
Corriger une règle serveur alors que le 307 vient du navigateur (HSTS) ou du CDN,
c’est la meilleure façon de perdre 2 heures sans résultat.
Une fois la cause identifiée, vous pouvez mettre en place une correction propre en suivant notre guide pour configurer une redirection 307 correctement selon votre environnement (Apache, Nginx ou PHP).
Pourquoi j’ai une erreur 307 sur mon site ? (causes fréquentes)
Cas 1 — HSTS / “307 Internal Redirect” (côté navigateur)
Sur certains sites HTTPS, le navigateur peut forcer un passage HTTP → HTTPS via HSTS.
Dans DevTools, cela peut apparaître comme un “307 Internal Redirect” même si votre serveur n’a jamais répondu 307.
- Test décisif :
curl -I(serveur) vs DevTools (navigateur). - Si curl ne montre pas 307 : c’est probablement un comportement client (HSTS/cache).
Cas 2 — Boucle de redirection (ERR_TOO_MANY_REDIRECTS)
Une boucle se produit souvent quand plusieurs règles se contredisent : http↔https, www↔non-www,
trailing slash, redirection CDN + redirection serveur…
- Symptôme : le navigateur “tourne” puis erreur de redirections.
- Solution : reconstruire la chaîne avec
curl -IL, puis garder une seule règle dominante.
Cas 3 — CDN / proxy / load balancer (redirection invisible)
Très fréquent : le serveur “dit” qu’il ne renvoie pas 307, mais un proxy/CDN réécrit les réponses
(HTTPS forcé, redirect rules, réécriture de Location).
- Cloudflare : “Always Use HTTPS”, Redirect Rules, Page Rules, cache.
- Load balancer : règles de rewrite, redirection par host, TLS termination.
- Proxy reverse : headers X-Forwarded-* mal gérés → redirections imprévues.
Cas 4 — Règles serveur (Nginx/Apache/.htaccess)
Une règle temporaire oubliée, un rewrite trop large, ou un vhost mal configuré peut renvoyer 307
sur des routes sensibles (login/checkout/API).
Cas 5 — Application / CMS / plugin
WordPress et certains plugins peuvent émettre des redirections, tout comme certains middlewares
(auth, routing, sécurité). Si la 307 apparaît après une mise à jour : suspectez le code applicatif.
Cas 6 — API / authentification / paiement (méthode POST conservée)
Sur une API ou un tunnel, une 307 est parfois utilisée “intentionnellement” (bascule temporaire),
mais elle devient problématique si le client ne suit pas correctement Location ou si la chaîne est cassée.
Comment corriger une erreur HTTP 307 (solutions)
Solution 1 — Vider cache navigateur + données du site
- Test en navigation privée, puis sur un autre navigateur.
- Supprimer les données du site (cookies + cache) pour le domaine concerné.
- Re-tester après correction côté serveur/CDN (sinon vous voyez l’ancien comportement).
Solution 2 — Corriger/valider HSTS (si c’est la cause)
Si vous êtes en environnement de test/staging, HSTS peut “piéger” et donner l’impression d’une redirection serveur.
Validez toujours au curl -I et contrôlez vos en-têtes.
Solution 3 — Corriger une boucle (http↔https, www↔non-www, slash)
- Relevez la chaîne exacte au
curl -IL. - Supprimez les règles en doublon (CDN + serveur).
- Gardez une seule source d’autorité (idéalement serveur OU CDN, pas les deux en conflit).
Solution 4 — Nginx (exemple)
location /ancienne-route {
return 307 https://example.com/nouvelle-route;
}Solution 5 — Apache / .htaccess (exemple)
Redirect 307 /ancienne-page https://example.com/nouvelle-pageSolution 6 — Cloudflare (checklist)
- Vérifier Redirect Rules / Page Rules.
- Contrôler “Always Use HTTPS”.
- Purger le cache si une règle a été modifiée.
- Tester en contournant Cloudflare (si possible) pour isoler la couche.
Solution 7 — WordPress (checklist)
- Désactiver temporairement les plugins de redirection / cache / sécurité.
- Vérifier l’URL du site (www / https) et éviter les doublons.
- Si CDN actif : purger cache CDN + cache plugin.
Si la 307 dure… ce n’est plus une 307
Une 307 est faite pour être temporaire. Si votre changement est durable (migration, consolidation SEO),
basculez en 301 (ou 308 si vous devez conserver la méthode).
Quel est l’impact SEO d’une redirection 307 ?
Une redirection 307 est traitée comme temporaire : tant qu’elle reste en place,
l’URL source tend à rester la référence. Si votre objectif est de transférer durablement l’indexation vers la cible,
vous êtes probablement sur le mauvais statut.
- Indexation : l’URL d’origine reste souvent candidate “référence”.
- Signaux : pas de bascule durable comme avec une 301/308.
- Crawl budget : chaque redirection coûte (pire en chaîne).
- UX : latence + risques sur parcours sensibles (checkout/login).
Bon réflexe : si vous n’avez pas de date de fin claire, requalifiez en 301 / 308.
307 vs 302 vs 301 vs 308 : quelle différence ?
| Code | Temporaire | Méthode conservée | Usage recommandé |
|---|---|---|---|
| 301 | Non | Non | Migration définitive, consolidation SEO |
| 302 | Oui | Variable selon le client | Temporaire non critique (souvent GET) |
| 307 | Oui | Oui (strict) | POST / paiement / login / API – temporaire |
| 308 | Non | Oui | Permanent avec méthode conservée |
Règle pratique
- Temporaire + méthode critique (POST/PUT) → 307
- Temporaire + pas d’enjeu méthode → 302
- Permanent + méthode critique (POST/PUT) → 308
- Permanent + consolidation SEO → 301
FAQ : Questions fréquentes sur l’erreur HTTP 307
Quelle est la différence entre un code 302 et un code 307 ?
La différence majeure concerne la méthode HTTP : un 302 peut être interprété de manière ambiguë selon les clients
(POST parfois transformé en GET), tandis que le 307 impose strictement la conservation de la méthode (POST reste POST).
Quand utiliser une redirection 307 pour le SEO ?
Utilisez une 307 si le changement est réellement temporaire et que vous souhaitez conserver l’URL source comme référence.
Si le changement devient durable, passez en 301 (ou 308 si vous devez conserver la méthode).
Comment savoir si mon site génère des 307 ?
Analysez les logs serveur, utilisez un crawler, ou testez au curl -I.
Attention : certains 307 vus dans DevTools peuvent être des redirections internes navigateur (HSTS/HTTPS).
Une 307 peut-elle ralentir mon site ?
Oui : comme toute redirection, elle ajoute un aller-retour réseau. Isolée, c’est souvent faible,
mais en chaîne ou sur des parcours critiques, cela dégrade l’UX et peut impacter les performances.
Une redirection 307 transfère-t-elle le SEO vers l’URL cible ?
En général, une 307 est considérée comme temporaire : Google garde souvent l’URL source comme référence tant que la redirection existe.
Le transfert n’est pas traité comme un changement durable (contrairement à une 301/308).
Pourquoi mon navigateur affiche “307 Internal Redirect” ?
Dans certains cas, le navigateur applique une redirection interne (ex. HTTP → HTTPS via HSTS) sans que votre serveur ne renvoie réellement 307.
Pour confirmer l’origine, testez au curl -I et vérifiez vos règles côté CDN/proxy/serveur.
Comment diagnostiquer et corriger une boucle de redirection 307 inattendue (HSTS / CDN) ?
Commencez par reconstruire la chaîne via curl -IL. Si curl ne montre pas 307 mais DevTools oui, suspectez HSTS.
Si la chaîne passe par un CDN/proxy, vérifiez les règles de redirection (HTTPS forcé, rewrite) et purgez le cache.
L’objectif est d’avoir une chaîne courte qui termine en 200, sans boucles.
Une 307 maintenue plusieurs semaines peut-elle impacter l’indexation ou le crawl budget ?
Oui. Même si une 307 est “temporaire”, la maintenir longtemps envoie un signal contradictoire : Googlebot repasse pour vérifier,
et chaque redirection consomme du budget de crawl. Si c’est durable, requalifiez en 301/308.
🎯 Analyse IA de cet article
Obtenez un résumé expert et des insights SEO personnalisés
💡 Chaque IA apporte une perspective unique


