Collez les anciennes et nouvelles URL et obtenez des règles 301 pour .htaccess ou Nginx, vérifiées contre les boucles
Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part. Vérifié le 16 octobre 2026.Une redirection 301 indique aux navigateurs et aux moteurs de recherche qu'une page a été déplacée définitivement. Dans le .htaccess d'Apache, RewriteRule ^old-page$ /new-page [L,R=301] envoie /old-page vers /new-page ; dans Nginx, location = /old-page { return 301 /new-page; } fait la même chose. Utilisez 302 ou 307 pour un déplacement temporaire et 410 pour une page supprimée volontairement.
Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais
Collez une redirection par ligne dans la zone Redirections : l'ancien chemin, une espace, puis le nouveau chemin ou l'URL.
Choisissez Apache ou Nginx, et activez Forcer HTTPS ou choisissez avec ou sans www si vous le souhaitez aussi.
Corrigez toute ligne signalée comme boucle, et acceptez la proposition de raccourcir les chaînes pour que chaque visiteur ne fasse qu'un saut.
Cliquez sur Copier ou Télécharger, et ajoutez les règles en haut de votre fichier .htaccess ou dans votre bloc server.
Collez une redirection par ligne, l'ancienne adresse puis la nouvelle, et les règles s'écrivent pendant que vous tapez. Les anciennes adresses peuvent être des chemins ou des URL complètes copiées depuis un navigateur ou un export d'analytique ; les tabulations, virgules et flèches fonctionnent aussi, de sorte qu'une paire de colonnes d'un tableur se colle directement. Ajoutez un code en fin de ligne pour remplacer celui par défaut, ou écrivez 410 au lieu d'une nouvelle adresse pour une page qui n'existe plus.
Quel code.
| Code | Signification | À utiliser pour |
|---|---|---|
| 301 | Déplacé définitivement | Pages renommées, nouveau domaine, HTTPS |
| 308 | Définitif, même méthode | API et formulaires en POST |
| 302 / 307 | Temporaire | Campagnes, maintenance, tests A/B |
| 410 | Supprimé | Pages supprimées volontairement |
Apache. Chaque règle utilise mod_rewrite. La directive Redirect, plus simple, compare des préfixes, si bien que Redirect /shop /store attrape aussi /shopping, et mélanger les deux modules les exécute dans un ordre qui en surprend plus d'un. Les motifs sont ancrés et échappés, donc un point dans old.html ne correspond qu'à un point. Une ancienne adresse avec une chaîne de requête, comme /products?id=42, reçoit sa propre RewriteCond et la requête est retirée de la nouvelle adresse.
Nginx. Chaque page reçoit un bloc exact location = avec return. HTTPS et le choix du www reçoivent leurs propres blocs server, qui ont besoin de votre domaine.
Vérifications. Une règle qui renvoie une page vers elle-même, directement ou via d'autres règles, est une boucle et est écartée. Une règle qui pointe vers une autre page redirigée est une chaîne ; un clic la fait pointer directement vers la page finale, pour que visiteurs et robots fassent un saut au lieu de plusieurs. Une ancienne adresse en double est signalée, car seule la première règle s'exécuterait jamais.
HTTPS et l'hôte sont traités en un seul saut, avant les règles de page. Testez d'abord avec 302 : les navigateurs mémorisent une 301 très longtemps.
Tout s'exécute dans votre navigateur ; rien de ce que vous collez n'est envoyé nulle part.
Ajoutez RewriteEngine On une fois, puis une ligne par page : RewriteRule ^old-page$ /new-page [L,R=301]. Dans .htaccess, le motif n'a pas de barre oblique initiale, l'accent circonflexe et le dollar le font correspondre uniquement à cette page exacte, et R=301 rend le déplacement définitif. Placez les règles près du début du fichier, avant tout bloc WordPress ou de framework.
301 et 308 sont définitives : les moteurs de recherche transfèrent le classement de l'ancienne page vers la nouvelle adresse. 302 et 307 sont temporaires, l'ancienne adresse reste donc indexée. 307 et 308 obligent en plus les navigateurs à répéter la même méthode, comme POST, tandis que 301 et 302 autorisent un passage à GET. La plupart des déplacements de pages devraient utiliser 301.
Combinez les conditions pour que le visiteur ne fasse qu'un saut : redirigez quand HTTPS est désactivé ou que l'hôte commence par www, et envoyez-le vers https suivi de l'hôte sans www. Ce générateur écrit exactement cela avec trois lignes RewriteCond et une RewriteRule, ou une paire de blocs server pour Nginx, au lieu de deux redirections séparées à la suite.
Une boucle se produit quand une règle envoie une page vers une adresse que la même règle ou une autre redirige en retour. Les causes courantes sont la redirection de /page vers /page/ alors qu'une autre règle retire la barre oblique, ou le forçage de HTTPS derrière Cloudflare Flexible SSL, où le serveur voit toujours HTTP. Cet outil refuse les règles qui bouclent et indique la ligne.
RewriteRule ne voit jamais la chaîne de requête, testez-la donc d'abord avec une RewriteCond : RewriteCond %{QUERY_STRING} ^id=42$, puis la RewriteRule pour le chemin. Ajoutez l'option QSD pour que ?id=42 ne soit pas recopié sur la nouvelle adresse. Coller ici /products?id=42 /products/blue-mug écrit les deux lignes pour Apache, ou un test if ($args) pour Nginx.
Chaque saut supplémentaire coûte un peu de temps, et Google suit au plus 10 sauts avant d'abandonner : les chaînes gaspillent l'effort d'exploration et ralentissent les visiteurs. Après une deuxième migration de site, les anciennes adresses pointent souvent vers des pages redirigées à nouveau. Ce générateur repère chaque chaîne et réécrit la règle pour pointer directement vers la page finale en un clic.
Les taux et les règles changent ; vérifiez la source avant de vous fier à un chiffre.
Toujours bloqué ? Poser une question sur Générateur de redirections .htaccess et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.