Redirections .htaccess PrestaShop : écrire des règles sans casser votre boutique

426 vues

Redirections .htaccess PrestaShop : ecrire des regles sans casser votre boutique

Le fichier .htaccess est l'un des fichiers les plus puissants et les plus dangereux de votre installation PrestaShop. Un seul caractere mal place peut mettre toute votre boutique hors ligne. Mais maitriser les redirections .htaccess est essentiel pour le SEO - vous en avez besoin lors du changement d'URLs, de la migration depuis une autre plateforme, de la suppression d'anciens produits ou de la restructuration de votre arbre de categories.

Comment PrestaShop utilise .htaccess

PrestaShop genere et gere automatiquement le fichier .htaccess. Lorsque vous activez les URLs simplifiees dans les parametres SEO et URLs, PrestaShop ecrit des regles de reecriture entre deux commentaires marqueurs.

Regle critique - N'ajoutez jamais vos redirections personnalisees a l'interieur de ce bloc. PrestaShop les ecrasera lors de la prochaine regeneration. Placez vos regles AVANT le bloc PrestaShop.

Types de redirections

301 - Redirection permanente

Utilisez quand une page a definitivement demenage. Les moteurs de recherche transferent la valeur SEO vers la nouvelle URL.

302 - Redirection temporaire

Utilisez quand une page est temporairement indisponible.

410 - Gone

Utilisez quand une page a ete definitivement supprimee sans remplacement.

Syntaxe de base des redirections

# Rediriger une URL unique
Redirect 301 /ancienne-page.html https://votreboutique.com/nouvelle-page.html

# Rediriger une ancienne URL produit
Redirect 301 /ancien-produit.html https://votreboutique.com/fr/nouveau-produit.html

Redirections basees sur des patterns avec RewriteRule

RewriteEngine On
RewriteRule ^ancien-dossier/(.*)$ https://votreboutique.com/nouveau-dossier/$1 [R=301,L]

Scenarios courants de redirection PrestaShop

Scenario 1 - Migration depuis une autre plateforme

# WooCommerce vers PrestaShop
RewriteRule ^product/ancien-slug/?$ https://votreboutique.com/fr/nouvelle-url.html [R=301,L]

Scenario 2 - Forcer HTTPS et WWW

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Regles qui peuvent casser PrestaShop

Boucles de redirection infinies

L'erreur la plus dangereuse. Toujours utiliser des conditions pour prevenir les boucles.

# DANGEREUX
RewriteRule ^(.*)$ https://votreboutique.com/$1 [R=301,L]

# SUR
RewriteCond %{HTTP_HOST} !^www\.votreboutique\.com$ [NC]
RewriteRule ^(.*)$ https://www.votreboutique.com/$1 [R=301,L]

Casser l'acces au back office

# SUR - exclure admin et API
RewriteCond %{REQUEST_URI} !^/admin [NC]
RewriteCond %{REQUEST_URI} !^/api [NC]
RewriteCond %{REQUEST_URI} !^/modules [NC]
RewriteRule ^(.*)$ https://votreboutique.com/fr/$1 [R=301,L]

Tester vos redirections en securite

# Toujours sauvegarder d'abord
cp .htaccess .htaccess.backup

# Tester avec curl
curl -I -L https://votreboutique.com/ancienne-page.html

Ou placer les regles personnalisees

# VOS REDIRECTIONS ICI (avant le bloc PrestaShop)
Redirect 301 /ancienne-page.html https://votreboutique.com/nouvelle-page.html

# ~~start~~ Bloc PrestaShop
# ... regles auto-generees ...
# ~~end~~ Bloc PrestaShop

Quand utiliser un module

Considerez un module de redirection quand du personnel non technique doit gerer les redirections, quand vous avez des centaines de redirections, ou quand vous voulez la detection automatique des 404.

Cette réponse vous a-t-elle été utile ?

Vous avez encore des questions ?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Loading...
Back to top