Jump to content

Recommended Posts

Bonjour à tous,

Je dois faire la redirection d'une vieille boutique sur une nouvelle et je me lance dans l'écriture des redirections 301 page par page via htaccess.

J'ai un problème avec l'URL de destination. 

Exemple concret :

Redirect 301 /Accueil/2027-miel-de-fleurs-sauvages-pot-250g.html    https://www.tresorsdesregions.com/confitures-miels/290-miel-de-fleurs-sauvages-pot-250g.html?

La redirection pointe bien sur la page que je veux mais je me retrouve avec l'URL suivant et des paramètres en plus : 

https://www.tresorsdesregions.com/confitures-miels/290-miel-de-fleurs-sauvages-pot-250g.html?id_product=2027

Comment pourrais-je enlever " ?id_product=... " à la fin de mon URL de destination ? 

Si vous avez une idée, solution, conseil... Je suis preneur ! Je ne suis malheureusement pas un As de la réécriture. 

Merci d'avance!

Ancienne boutique : Prestashop 1.2.5
Nouvelle boutique : Prestashop 1.6.1 - Hébergeur différent - Domaine différent

les URL rewriting rules du htaccess de l'ancienne boutique 1.2.5 (on y voit du id_product partout...) :

# URL rewriting module activation
RewriteEngine on
RewriteBase / 

# URL rewriting rules
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4 [L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1 [QSA,L,E]
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]

Edited by MadeleinePurbeurre
edit (see edit history)
Link to comment
Share on other sites

En effet, c'est très étrange.

Bon comme de toute manière tu laisses tomber l'ancien site, tu pourrais essayer d'enlever (fait une copie avant) tout ce qui concerne la réécriture dans l'ancien fichier htaccess.

Sinon autre solution tu peux aussi essayer (en début de fichier) de faire des redirections avec une autre syntaxe de type :

RewriteEngine on
RewriteRule ^Accueil/2027-miel-de-fleurs-sauvages-pot-250g\.html$ https://www.tresorsdesregions.com/confitures-miels/290-miel-de-fleurs-sauvages-pot-250g.html [R=301,L]

(syntaxe à adapter, je ne sais pas si il faut /Accueil/... ou juste Accueil/... et si je n'ai pas oublié des caractères à échapper mais l'intéressant dans cette deuxième solution est le [L] de la fin qui signifie que c'est la dernière règle à appliquer si l'url correspond)

 

  • Like 1
Link to comment
Share on other sites

Aaaah! Ta solution avec un Rewrite et les flags marche. Merci beaucoup! J'ai au moins une solution avec laquelle travailler :)

Dommage qu'on est pas trouvé une solution concernant le RedirectPermanent ou Redirect 301 basique mais bon... On fait pourtant bien la même chose.

Merci ! Je vais encore faire quelques tests avant de passer à l'écriture de tout ça !

 

 

Edited by MadeleinePurbeurre (see edit history)
Link to comment
Share on other sites

  • 1 year later...

Et pour ceux qui ont des problèmes de paramètres d'url avec leurs redirections 301 :

Du genre cette url : http://www.oldsite.com/product.php?id_product=127  redirigée vers https://www.newsite.com/?id_product=127 😫😱

les solutions ci-dessous fonctionnent :

RewriteRule ^product\.php$ https://www.newsite.com? [NC,R=301,L]

Et autres...

RewriteRule ^cms\.php$ https://www.newsite.com? [NC,R=301,L]
RewriteRule ^best-sales\.php$ https://www.newsite.com/meilleures-ventes? [NC,R=301,L]
RewriteRUle ^new-products\.php$ https://www.newsite.com/nouveaux-produits? [NC,R=301,L]

Important, le " ? " à la fin du nom de domaine.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...