web-dev-qa-db-fra.com

Redirections permanentes après modification de la structure des liens de produits sur Prestashop

Je cherche à modifier la structure des URL de produits sur un site Web Prestashop (v1.5). Ce processus est assez simple et peut être fait instantanément via le panneau d'administration correspondant.

Le fait est que beaucoup de produits sont indexés sur Google (et d'autres moteurs de recherche aussi, je suppose), aussi j'aimerais 301 rediriger les anciens liens jusqu'à ce que les indexeurs se mettent à jour avec les nouvelles URL. Je suppose que c'est probablement le moyen le plus sûr de gérer le changement: éviter les 404 et les doublons.

Comme j'ai des centaines de produits dans ce magasin, je ne cherche évidemment pas à les rediriger un à un, évidemment. Mais alors je ne sais pas vraiment comment gérer le changement de structure correctement dans un fichier htaccess.

Pour le moment, j'utilise la structure par défaut de Prestashop:

{category:/}{id}-{rewrite}{-:ean13}.html

Qui produit les liens suivants:

http://www.sitename.com/category/123456-product-name-0123456789123.html

Je cherche maintenant à changer la structure suivante (ce qui, à mon avis, pourrait être plus efficace car vous pouvez trouver les mêmes mots dans les noms de catégories et de produits):

{rewrite}-{id}-{:ean13}

Ce qui produirait ce type de lien:

http://www.sitename.com/product-name-123456-0123456789123

Mais maintenant, je ne sais pas vraiment comment gérer le changement, si cela peut même être fait facilement?

Et sans aucune modification, les anciens liens ne sont pas automatiquement redirigés vers les nouveaux.

2
shroom

Utiliser une directive RedirectMatch de mod_alias dans votre fichier . Htaccess devrait faire l'affaire:

RedirectMatch permanent /[^/]+/([0-9]+)-(.*)-([0-9]+)\.html$ /$2-$1-$3

Cela extrait les parties correspondantes de vos anciennes URL et les redirige vers le nouveau format.

1