La pire heure d'une migration de site que j'ai jamais faite a été passée à regarder une erreur de 500 sur un site en direct, et la cause était un seul caractère errant dans un fichier.htaccess J'avais écrit à la main un lot de redirections pour une reconstruction WordPress, je me suis doigté un drapeau RewriteRule, et Apache a répondu en refusant de servir tout le domaine Les redirections elles-mêmes étaient bien ; la syntaxe autour d'elles ne l'était pas, et .htaccess est impitoyable de cette façon Après cela j'ai arrêté d'écrire des règles de redirection à la main et j'ai commencé à les générer, ce qui est exactement ce que Générateur de redirection HtAccess sur Toolz.dev fait Ce guide traite de la façon dont Apache redirige le travail, quand utiliser chaque type et comment canoniser HTTPS et www sans rien casser.
tl;dr : Un fichier.htaccess indique à Apache comment rediriger les URL. Utilisez un 301 pour les mouvements permanents, un 302 pour les temporaires,
Redirectpour des chemins exacts, etRewriteRulepour les motifs. Le Générateur de redirection HtAccess construit tous ces plus les règles de force-HTTPS et www à partir d'une liste simple, correctement ordonnée, entièrement dans votre navigateur sans rien téléchargé.
Qu'est-ce qu'un générateur de redirection htaccess ?
Un générateur de redirection .htaccess transforme une liste simple de mappages d'URL anciens à nouveaux en directives Apache exactes qui effectuent les redirections. Quel code d'état vous choisissez est une question de protocole et non une question Apache : RFC9110 définit 301 comme permanent et 302 comme trouvé Le fichier.htaccess est un fichier de configuration par répertoire qu'Apache lit sur chaque requête, et sur l'hébergement partagé, c'est généralement le seul endroit où vous pouvez déclarer les redirections, car vous ne pouvez pas modifier la configuration du serveur principal. Le générateur écrit les deux versions de redirection prises en charge par Apache : le mod_alias Redirect directive pour les changements de chemin simples un à un et le mod_rewrite RewriteRule directive pour les correspondances de modèles qui capturent de nombreuses URL à la fois.
La raison pour générer ces derniers plutôt que de les taper est que la syntaxe .htaccess est précise et punissante Un drapeau égaré, un point non-échappé dans un motif, ou une règle dans le mauvais ordre ne produit pas d'avertissement ; il produit une erreur 500 qui prend tout le site vers le bas jusqu'à ce que vous le trouviez et le corrigez Les directives doivent également apparaître dans un ordre spécifique, avec le moteur de réécriture activé avant toute RewriteRule, et les règles à l'échelle du site avant celles au niveau de la page, ou ils se comportent mal d'une manière difficile à déboguer Un générateur code cet ordre et cette syntaxe afin que vous ne puissiez pas vous tromper subtilement.
Sur Toolz.dev le flux reflète la façon dont vous pensez réellement à une migration Vous répertoriez chaque ancien chemin et sa nouvelle destination, choisissez si le déménagement est permanent ou temporaire et s'il s'agit d'un chemin exact ou d'un modèle, et optionnellement basculez sur les deux règles à l'échelle du site dont presque tous les sites ont besoin L'outil assemble l'ensemble du fichier dans le bon ordre et signale tout ce qui est suspect, comme une règle qui redirige un chemin vers lui-même, avant de le coller dans votre site.
Quelle est la différence entre une redirection 301 et une 302 ?
Un 301 est une redirection permanente et un 302 est temporaire, et vers un moteur de recherche cette distinction est tout le point Un 301 indique aux navigateurs et aux robots d'exploration que la page a bougé pour de bon, et les moteurs de recherche répondent en transférant presque tous les anciens URL' ; s accumulés signaux de classement à la nouvelle adresse et finalement en supprimant l'ancienne URL de leur index Un 302 leur indique que le déménagement est temporaire, donc ils gardent l'URL d'origine indexée et classée et traitent la destination comme un remplaçant qui va disparaître.
Choisir la mauvaise a de réelles conséquences Utilisez un 302 pour un déménagement permanent et les moteurs de recherche peuvent garder l'ancienne URL classée pendant que votre nouvelle page a du mal à accumuler sa propre autorité, car les signaux ne reviennent jamais Utilisez un 301 pour quelque chose de véritablement temporaire, comme une page qui est en panne pour la maintenance ou une page de destination saisonnière, et vous pouvez perdre définitivement le classement de l'original une fois la situation inversée La règle empirique est simple : si l'ancienne URL ne revient jamais, utilisez 301 ; si c'est le cas, utilisez 302.
Voici comment les deux se comparent sur les propriétés qui comptent :
| Propriété | 301 Permanent | 302 Temporaire |
|---|---|---|
| éloquent | Page a déménagé pour de bon | Page est temporairement ailleurs |
| Signaux de classement | Transféré à la nouvelle URL | Restez avec l'URL d'origine |
| Ancienne URL dans l'index | Finalement abandonné | entretenu |
| Usage typique | Refontes, migrations, pages fusionnées | Maintenance, tests A/B, pages saisonnières |
| Mise en cache du navigateur | En cache agressivement | Non mis en cache par défaut |
Le générateur vous permet de définir le statut par règle, donc une migration qui est principalement permanente se déplace avec une redirection promotionnelle temporaire est une seule liste mixte plutôt que deux fichiers Parce que les 301 sont mis en cache de manière agressive par les navigateurs, il vaut la peine de les faire correctement la première fois ; un mauvais 301 peut persister dans un visiteur' ; s navigateur longtemps après que vous avez réparé le serveur.
Quand dois-je utiliser Redirect ou RewriterRule ?
Utilisez le Redirect directive pour un changement de chemin exact et individuel, et a RewriteRule lorsque vous devez faire correspondre un motif. Redirect 301 /old-page /new-page est toute la règle pour déplacer une seule page, et il est lisible, difficile de se tromper, et géré par Apache' ; s mod_alias module. Lorsque vous avez une poignée de pages spécifiques qui ont chacune déménagé vers un nouvel emplacement spécifique, une liste de Redirect les lignes sont le moyen le plus clair et le plus sûr de l'exprimer.
un RewriteRule gagne sa complexité lorsqu'une règle doit attraper de nombreuses URL. Si chaque publication ci-dessous /blog/2023/ passé au même chemin sans l'année, écrivant un Redirect la ligne pour chaque poste serait composée de centaines de règles ; un seul RewriteRule ^blog/2023/(.*)$ /blog/$1 [R=301,L] gère tous en capturant la partie après l'année et en la réutilisant dans la destination La puissance provient des expressions régulières et des groupes de capture, mais le risque aussi, car un caractère spécial non échappé ou un motif gourmand peut correspondre bien plus que ce que vous aviez prévu.
Le générateur choisit la bonne directive pour vous en fonction du type de correspondance que vous choisissez par règle : les règles exactes deviennent Redirect les lignes et les règles de modèle deviennent RewriteRule lignes, avec le moteur de réécriture automatiquement allumé quand n'importe quelle règle de motif est présente Il maintient également les deux groupes dans le bon ordre dans la sortie Si vous êtes nouveau à écrire les motifs eux-mêmes, le testeur de regex vous permet de vérifier un modèle par rapport à des exemples d'URL avant de lui faire confiance dans une redirection, c'est ainsi que je confirme qu'un groupe de capture fait ce à quoi je m'attends.
Comment forcer HTTPS dans htaccess ?
Pour forcer HTTPS, vous ajoutez une condition de réécriture qui vérifie si la requête actuelle n'est pas déjà sécurisée, suivie d'une règle qui redirige vers la version https du même hôte et du même chemin d'accès. Le formulaire standard vérifie %{HTTPS} off et puis réécrit https://%{HTTP_HOST}/$1 avec un 301, donc chaque requête HTTP simple est mise à niveau de manière permanente vers la version cryptée de l'URL identique. Servir un site sur http et https sans cette redirection signifie que les moteurs de recherche peuvent indexer deux versions de chaque page, en divisant vos signaux de classement entre elles.
La subtilité est l'ordre La règle HTTPS doit s'exécuter avant toute réécriture d'hôte, comme l'ajout ou la suppression de www, de sorte que ces règles ultérieures atterrissent également sur le schéma sécurisé plutôt que d'envoyer un visiteur de http à https, puis via une deuxième redirection. Se tromper produit des chaînes de redirection, où une seule requête rebondit sur deux ou trois sauts avant d'arriver, ce qui est plus lent pour les utilisateurs et dilue le bénéfice de classement de la redirection. Le générateur place la règle HTTPS en premier pour exactement cette raison.
Activez Force HTTPS dans l'outil et il insère la condition et la règle correctes en haut de la sortie, avant vos redirections de page et la règle www. Parce que HTTPS est maintenant une attente de base plutôt qu'un extra facultatif, et que les navigateurs signalent de plus en plus les pages plain-http comme non sécurisées, c'est une règle que j'ajoute à pratiquement tous les sites Il s'associe naturellement à la règle canonique-hôte couverte ensuite, et ensemble ils établissent un site sur exactement une adresse pour chaque page.
Comment rediriger www vers non-www ou l'inverse ?
Vous canonisez le préfixe www avec une règle de réécriture qui vérifie l'hôte et redirige vers la version que vous avez choisie Pour supprimer www, vous faites correspondre les hôtes qui commencent par www.(, capturez le reste, et redirigez vers le domaine nu ; pour ajouter www, vous correspondez à des hôtes qui ne commencent pas par www. et rediriger vers la version préfixée De toute façon, le but est que chaque page soit joignable à exactement un hôte canonique, car servant le même contenu aux deux www.example.com et example.com est un problème classique de contenu en double qui divise les signaux de classement, tout comme le fait un split http/https non résolu.
Il n'y a aucun avantage SEO à www sur non-www ou l'inverse ; ce qui compte, c'est que vous en choisissiez un et que vous l'appliquiez de manière cohérente Les grands sites utilisaient historiquement www pour des raisons techniques autour des cookies et des sous-domaines, alors que de nombreux sites modernes le lâchent par souci de concision L'important est qu'une fois que vous avez choisi, chaque lien, chaque balise canonique, et chaque point de redirection à la même version, ainsi les moteurs de recherche consolident toute votre autorité sur un hôte plutôt que de le diviser.
Le générateur propose un seul paramètre www avec trois options : laissez-le inchangé, forcez www ou supprimez www. Il écrit la condition et la règle de correspondance et les place après la règle HTTPS afin que les deux coopèrent plutôt que de chaîner. Quel que soit l'hôte sur lequel vous vous installez, il devrait également être celui de vos balises canoniques et de votre plan du site, il vaut donc la peine de générer votre plan du site avec le même hôte canonique et déclarant vos règles d'exploration dans une correspondance robots.txt. La cohérence entre les trois est ce qui fait que la canonisation reste réellement valable.
Ces redirections fonctionnent-elles sur Nginx ?
Non. Le format .htaccess est spécifique au serveur Web Apache et aux serveurs qui l'émulent délibérément, notamment LiteSpeed. Nginx ne lit pas du tout les fichiers.htaccess ; il les ignore complètement, donc coller les directives Apache dans une configuration Nginx ne fait rien. Nginx gère les redirections avec les siennes return et rewrite directives à l'intérieur server et location blocs dans la configuration principale, en utilisant une syntaxe différente et un modèle d'évaluation différent.
Cela importe car un nombre surprenant de problèmes de redirection proviennent de l'application de la bonne règle au mauvais serveur Si vos redirections semblent être ignorées peu importe ce que vous écrivez, la première chose à vérifier est quel serveur web sert réellement votre site, car un fichier.htaccess sur un hôte Nginx est inerte Les hôtes WordPress gérés en particulier exécutent parfois Nginx devant ou à la place d'Apache, et là le fichier.htaccess que vous avez soigneusement édité n'a aucun effet.
Le générateur produit la syntaxe Apache, qui couvre la grande majorité de l'hébergement partagé et tout hôte exécutant Apache ou LiteSpeed Si vous êtes sur Nginx, la logique des règles se traduit directement, une redirection permanente est toujours un 301 et un hôte canonique est toujours un hôte canonique, mais la syntaxe doit être réécrite pour les directives Nginx' ; s, ce qui est un travail pour votre hôte' ; s configuration plutôt qu'un fichier .htaccess. Savoir sur quel serveur vous êtes avant de commencer sauve la confusion que j'ai regardé avaler des après-midi entiers.
Quand utiliserais-je réellement cela ?
Les migrations de sites sont le cas principal Chaque fois que je reconstruis un site, qu'il s'agisse d'un projet WordPress passant à de nouvelles structures d'URL ou d'une nouvelle construction remplaçant une ancienne, chaque ancienne URL qui avait du trafic ou des backlinks a besoin d'un 301 vers sa nouvelle maison, ou que le trafic et l'autorité s'évaporent en 404. lister ces mappages et générer le bloc de redirection en un seul passage, correctement ordonné et syntaxiquement propre, est bien plus sûr que de modifier manuellement un fichier qui peut réduire le site sur une seule faute de frappe Les règles de modèle traitent des sections entières qui se sont déplacées en groupe.
L'application de HTTPS et d'un hôte canonique est le cas quotidien Même sur un site sans redirections au niveau de la page, les règles force-HTTPS et www valent la peine d'être ajoutées pour consolider les signaux de classement et répondre à la sécurité attendue par les navigateurs de base. Je génère ces deux règles pour pratiquement chaque nouveau site et les colle avant le lancement, le site est donc canonique dès le premier jour plutôt que d'être nettoyé plus tard une fois que les versions en double ont déjà été indexées.
Nettoyage après que le fait a complété le fait Les anciennes redirections s'accumulent, certaines enchaînent à deux ou trois sauts, et certains pointent vers des pages qui ont depuis bougé à nouveau Régénérer tout le bloc d'une liste propre, avec les avertissements de boucle et de format que l'outil fournit, est un bon moyen de raplatir ces chaînes à un seul houblon Les redirections sont un coin du référencement sur site, et elles se trouvent à côté du générateur de balises méta et le reste de la boîte à outils sur page ; les arguments plus larges en faveur du maintien de ce type d'utilitaire dans le navigateur sont ceux que je fais dans le Guide d'outils pour les développeurs Web1, et l'angle de productivité dans le Guide des outils de productivité des développeurs.
Mes données URL sont-elles privées ?
Oui. Chaque règle est générée en JavaScript à l'intérieur de votre navigateur Les URL que vous entrez, votre domaine et votre carte de redirection ne sont jamais transmises, enregistrées ou stockées, et l'outil continue de fonctionner sans connexion réseau une fois la page chargée Une carte de redirection est en fait un diagramme de votre site' ; sa structure et ses pages les plus précieuses, et bien qu'il ne soit pas secret comme l'est un mot de passe, il n'y a aucune raison pour qu'il circule à travers quelqu'un d'autre' ; s serveur juste pour assembler un fichier texte.
Parce que le travail se passe localement, vous pouvez planifier une migration hors ligne, générer les règles sur un ordinateur portable sans connexion, et les coller lorsque vous êtes prêt, sans aucune partie de votre site' ; s structure d'URL quittant l'appareil Cette approche locale d'abord est la même que celle derrière chaque outil sur Toolz.dev, et cela signifie que l'outil est aussi utilisable sur un avion que sur un bureau L'argument général pour préférer les outils basés sur un navigateur qui ne téléchargent jamais vos données est celui que j'ai exposé dans le guide de confidentialité des données dans les outils en ligne.
FAQ
Quelle est la différence entre une redirection 301 et une 302 ?
Un 301 est une redirection permanente : il indique aux navigateurs et aux moteurs de recherche que la page a déménagé pour de bon et transmet presque tous les anciens URL' ; s signaux de classement au nouveau Un 302 est temporaire : il transmet les visiteurs mais signale que l'URL d'origine doit conserver son classement et peut revenir Utilisez 301 pour les mouvements permanents et 302 uniquement lorsque le changement est véritablement temporaire.
Où mettre le fichier htaccess ?
Placez le fichier .htaccess dans le répertoire racine de votre site Web, généralement le dossier qui contient également index.php ou index.html. Les redirections qui y sont déclarées s'appliquent à l'ensemble du site. Le nom du fichier commence par un point et n'a aucune extension, et Apache doit avoir AllowOverride activé pour le répertoire, que la plupart des hôtes partagés configurent par défaut.
Quand dois-je utiliser Redirect ou RewriterRule ?
Utilisez la directive mod_alias de redirection pour un changement de chemin simple à un, comme /old-page vers /new-page. Utilisez une réécriture mod_rewrite lorsque vous devez faire correspondre un modèle, par exemple en envoyant chaque URL sous /blog/2023/ au même chemin sans l'année. Cet outil émet une redirection pour les règles exactes et RewriteRule pour les règles de modèle automatiquement.
Comment forcer HTTPS dans htaccess ?
Activer Force HTTPS et le générateur ajoute un RewriteCond qui vérifie si HTTPS est désactivé, suivi d'une RewriteRule qui redirige vers la version https du même hôte et chemin avec un 301. placer cette règle avant vos autres redirections garantit que chaque requête est mise à niveau vers une connexion sécurisée en premier, sans enchaînement via des sauts supplémentaires.
Ces redirections fonctionnent-elles sur Nginx ?
Non. Le format.htaccess est spécifique au serveur Web Apache et aux serveurs qui l'émulent, tels que LiteSpeed. Nginx ne lit pas les fichiers.htaccess et utilise ses propres directives de réécriture et de retour dans la configuration du serveur, vous devrez donc traduire ces règles dans la syntaxe Nginx. Vérifiez sur quel serveur votre site s'exécute avant de dépanner les redirections ignorées.
Ces redirections nuira-t-elle à mon référencement ?
Utilisé correctement, les redirections protègent le référencement plutôt que de lui nuire. Un 301 conserve le classement d'une page déplacée, et la canonisation de HTTPS et de WWW empêche les versions dupliquées de diviser vos signaux. Les risques proviennent de chaînes de redirection, de boucles ou de redirection vers des pages non pertinentes, alors gardez chaque règle pointer directement vers la destination la plus pertinente.
Une règle peut-elle rediriger de nombreuses URL à la fois ?
Oui. Définissez la règle sur le mode modèle et utilisez une expression régulière dans le champ source avec les groupes de capture, puis référez-les à la destination avec 1 $, 2 $, etc. Par exemple, ^blog/(.*)$ redirigé vers /articles/1 $ déplace chaque page sous /blog/vers la page correspondante sous /articles/avec une seule règle.
Mes données URL sont-elles privées ?
Oui. Les règles sont générées dans votre navigateur avec JavaScript Rien de ce que vous entrez n'est téléchargé, enregistré ou stocké, et l'outil continue de fonctionner sans connexion Internet une fois la page chargée. Une carte de redirection décrit votre site' ; structure, et avec un outil côté client, il ne quitte jamais votre appareil pour assembler le fichier.
Construisez vos redirections gratuitement Générateur de redirection HtAccess. Il écrit les règles Apache 301 et 302, force-HTTPS et canonisation www à partir d'une liste simple, correctement ordonnée, entièrement dans votre navigateur sans rien de téléchargé.



