Comment peut-on utiliser RedirectMatch avec Apache pour gérer efficacement les redirections d'URL ?
J'ai un petit souci avec RedirectMatch sur Apache. J'aimerais savoir comment l'utiliser au mieux pour les redirections. Plus concrètement, je cherche à rediriger certaines URLs de mon ancien site vers le nouveau, mais en conservant une partie de l'URL d'origine. RedirectMatch me semble être la solution, mais j'ai du mal à bien comprendre les expressions régulières. Des exemples concrets seraient super utiles !
Commentaires (17)
-
Voici un exemple basique: `RedirectMatch ^/ancien-repertoire/(.*)€ /nouveau-repertoire/€1` Ce code redirige tout ce qui se trouve dans l'ancien repertoire vers le nouveau, en conservant le nom des fichiers.
-
Ok, merci pour l'exemple. Je vais tester ça et voir si je peux l'adapter à mes besoins. C'est surtout la partie avec les expressions régulières que je trouve ardue.
-
C'est un bon point de départ. L'utilisation des parenthèses pour capturer des groupes est la clé avec RedirectMatch. Par contre, attention aux cas plus complexes, genre si tu as des query strings (les trucs après le ? dans l'URL). Il faudra peut-être les gérer séparément ou les inclure dans ton expression régulière. Sinon, tu risques de les perdre lors de la redirection.
-
Exact, SalesAlchemist, bien vu pour les query strings, ça m'était arrivé une fois et j'avais bien galéré avant de comprendre pourquoi ça marchait pas comme prévu !
-
Merci pour le tuyau sur les query strings, SalesAlchemist et ForceVente8, c'est le genre de détail qui peut vite te pourrir la vie !
-
Oui, les query strings... toute une histoire ! D'ailleurs, en parlant de galère, je me suis retrouvée l'autre jour avec une histoire de certificat SSL expiré... Bref ! Pour en revenir à RedirectMatch, il existe des outils en ligne pour tester tes regex, ça peut aider à visualiser ce qui se passe. Y'a des sites comme Regex101 qui sont pas mal pour ça.
-
Regex101 c'est top pour debugger les regex, je plussoie !
-
Bon, j'ai testé avec Regex101 comme conseillé, et effectivement, ça aide pas mal à visualiser ce qui se passe avec les expressions régulières. J'ai réussi à adapter le code donné en exemple, et maintenant les redirections se font correctement, même avec les query strings ! Merci à tous pour votre aide et vos conseils, ça m'a bien débloqué.
-
Super que tu aies réussi à t'en sortir avec les regex et les query strings, AlphaNumeric! C'est toujours une petite victoire quand on arrive à dompter ces bêtes-là. Content d'avoir pu aider !
-
Pour aller plus loin sur le sujet de la redirection avec Apache, je vous partage cette vidéo qui explique bien comment utiliser mod_rewrite. Elle m'a pas mal aidée à comprendre les subtilités de la configuration.
https://www.youtube.com/watch?v=hdnmGpE-J5A[/video] Elle couvre pas mal d'aspects, ça peut être utile ! -
Mouais, mod_rewrite c'est bien, mais parfois un peu overkill pour des redirections simples. RedirectMatch suffit amplement dans la plupart des cas, non ? En plus, c'est plus lisible pour le commun des mortels qui débute avec Apache.
-
C'est vrai que mod_rewrite peut paraitre un peu complexe au premier abord, mais disons que pour des redirections plus avancées, avec des conditions spécifiques ou des manipulations d'URL plus poussées, ça devient vite indispensable. RedirectMatch c'est parfait pour les cas simples, je suis d'accord. Mais si tu dois faire des trucs plus fins, mod_rewrite offre plus de flexibilité.
-
Je suis d'accord avec AlphaNumeric, RedirectMatch c'est top pour les choses simples. Mais quand il faut jongler avec des conditions, des variables serveur, ou des trucs vraiment tordus, mod_rewrite devient vite incontournable. Faut juste pas avoir peur de mettre les mains dans le cambouis !
-
Complètement d'accord avec l'idée que mod_rewrite offre plus de possibilités, mais c'est une arme à double tranchant. Je m'explique : pour un site "vitrine" ou un petit ecommerce, où 80% du trafic vient de requêtes simples (genre, des pages produits ou des articles de blog classiques), se compliquer la vie avec des règles de réécriture alambiquées, c'est un peu comme utiliser un bazooka pour tuer une mouche. 😅 En revanche, si on parle de sites avec des structures d'URL dynamiques, des paramètres à gogo, ou des besoins spécifiques en matière de SEO (genre, gérer des canonicals de manière ultra-précise ou des redirections basées sur la géolocalisation), là, mod_rewrite prend tout son sens. Ce qu'il faut bien avoir en tête, c'est le ratio effort/bénéfice. Si une règle RedirectMatch fait le job à 90%, est-ce que ça vaut vraiment la peine de passer des heures à optimiser une règle mod_rewrite pour gagner 10% de performance ? 🤔 Pas sûr... D'ailleurs, pour ceux qui veulent creuser le sujet, Google a publié pas mal de documentation sur l'impact des redirections sur le SEO. Ils estiment qu'une chaîne de redirection trop longue (plus de 3 sauts) peut impacter négativement le crawl et l'indexation. Donc, que ce soit avec RedirectMatch ou mod_rewrite, la simplicité reste souvent la meilleure approche. 🤓
-
Si je résume, on a commencé par une question sur l'utilisation de RedirectMatch pour rediriger des URLs, avec un focus sur les expressions régulières. Ensuite, il y a eu un rappel important sur la gestion des query strings. On a aussi évoqué mod_rewrite, en soulignant que c'est plus puissant mais aussi plus complexe, donc à utiliser en fonction des besoins et de la complexité des redirections à mettre en place. Sans oublier de garder en tête l'impact des redirections sur le SEO, en limitant les chaines de redirection.
-
Wonder Woman14, excellent résumé de la discussion ! Juste pour ajouter un petit truc, pour ceux qui hésitent entre RedirectMatch et mod_rewrite, pensez aussi à vérifier si vous avez bien activé le module mod_rewrite dans votre configuration Apache. Souvent, c'est un oubli bête, mais ça peut vous faire perdre pas mal de temps à chercher pourquoi vos règles ne fonctionnent pas. Un simple `a2enmod rewrite` suivi d'un redémarrage d'Apache et c'est réglé !
-
ArtisanDigital91 a raison sur le ratio effort/bénéfice. Des fois on se prend la tête pour des détails qui rapportent que dalle. Et Wonder Woman14, merci pour le résumé, ça clarifie bien le truc. Tiens, ça me fait penser, faudrait que je regarde un peu les dernières recommandations de Google pour le SEO mobile, ça a du pas mal bouger ces derniers temps. Bref, pour revenir au sujet, bien vérifier que mod_rewrite est activé, c'est la base comme dit le dernier commentaire !
AlphaNumeric
le 11 Mai 2025