Les redirections .htaccess à connaitre

|

Cédric

Si vous travaillez fréquemment sur des sites et que vous suivez de près ce qui se passe au niveau des urls, vous savez que les redirections ne sont jamais loin 😉 Que ce soit pour l’internaute et son expérience de navigation, ou pour le moteur de recherche (SEO ;)) et votre visibilité, vous avez ou devrez toucher à cela.

Ci dessous, un petit récapitulatif des règles de redirections pour .htaccess, pour serveur Apache qui sont toujours utiles (et si vous souhaitez vous simplifier la vie, retrouver le Générateur de redirection 301 ici)

Redirections des urls http vers https

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]

Redirections des urls sans www vers les urls avec www

RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.domaine.fr/$1 [R=301,L]

Redirection d’une url en 301

RewriteRule ^blablabla-1.html$ http://www.domaine.fr/blablabla-2.html? [R=301,L]

Redirection d’une url avec accent

RewriteRule ^blog/old-r(.*)-sur-le-truc$ /nouveau-lien/ [R=301,L]

On note ici qu’il faut utiliser la regex (.*) qui remplacera alors les caractères tel que %C3%A9 qui sont les parties accentuées de votre ancienne url à rediriger.

Redirection d’une url d’un ancien domaine vers un nouveau domaine, en 301

Redirect permanent /blablabla/ https://www.domaine.fr/blablabla/

Redirection de toutes les pages d’un domaine vers un autre

RewriteEngine on
RewriteCond %{HTTP_HOST} ^anciendomaine\.fr$ [NC]
RewriteRule ^(.*)$ https://www.nouveaudomaine.fr/$1 [R=301,L]

Redirection pour corriger les URL doublons / trailing slash

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

Ou pour l’ajout d’un slash

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]

Redirection de pages spécifiques avec changement de structure de chemin

RewriteEngine on
RewriteRule ^ancien-dossier/(.*)$ /nouveau-dossier/$1 [R=301,L]

Redirection de pages spécifiques avec changement de structure de chemin

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteRule ^(.*)$ https://m.domaine.fr/$1 [R=301,L]

Bien entendu, il existe de très nombreuses autres règles qui peuvent être personnalisées selon vos envies et besoin. Il ne s’agit donc pas ici de les lister, mais plutôt de rappeler les plus récurrentes.

Enfin, le fichier .htaccess étant particulièrement sensible, on n’oubliera pas de tester l’intégration de nouvelles règles, afin de s’assurer notamment que le site ne soit pas cassé avec une belle erreur 500 😉

Laisser un commentaire