Jump to content
Benjbe

Redirection 301 boutique ecwid

Recommended Posts

Bonjour,

 

Après de multiples tests et recherche sur le web, je me résous à poster sur le forum en espérant trouver un peu d'aide.

Voilà mon souci :

Je viens de refaire mon site et j'ai opté pour prestashop 1.5.4. Précédemment mon site utilisait la solution ECWID. J'aimerais donc rediriger les internautes et les moteurs vers les nouvelles pages.

 

Seulement les url issues de ECWID sont de la forme :

- www.mon-site.com/#!/~/product/category=5236246&id=21751603 (pour un produit)

- www.mon-site.com/#!/~/category/id=2846266&offset=0&sort=addedTimeDesc (pour une catégorie)

 

A priori je dois faire une redirection pour chacune des pages dans le fichier .htaccess.

 

J'ai tester sans succès :

RedirectPermanent www.mon-site.com/#!/~/product/category=5236246&id=21751605 www.mon-site.com/alimentaire/335-confiture-fruits-des-bois-au-genepi.html

 

Comment dois-je faire ?

Dois-je utiliser une méthode de réécriture en utilisant RewriteCond et RewriteRule ?

 

Merci d'avance à tous.

Edited by Benjbe (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

Merci pour ta réponse.

J'ai essayé avec ta solution sans succès...

 

Ci-dessous mon .htaccess, je dois surement me tromper dans la syntaxe ou le placement ...

 

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution

# http://www.prestashop.com - http://www.prestashop.com/forums

 

<IfModule mod_rewrite.c>

SetEnv PHP_VER 5

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule . - [E=REWRITEBASE:/]

RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

 

# Images

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3$4.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]

 

# Dispatcher

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^.*$ - [NC,L]

RewriteCond %{HTTP_HOST} ^www.mon-site.com$

RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]

 

RewriteRule ^www.mon-site.com/#!/~/product/category=5236246&id=21751605 www.mon-site.com/alimentaire/335-confiture-fruits-des-bois-au-genepi.html [R=301,L]

</IfModule>

 

#If rewrite mod isn't enabled

ErrorDocument 404 /index.php?controller=404

 

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

Share this post


Link to post
Share on other sites

Pour commencer je tiens à signaler à ceux qui liraient le sujet que cette personne a mis "www.mon-site.com" pour ne pas avoir à indiquer l'url de son site. C'est une pratique courante, mais tout le monde ne semble pas le savoir, donc je préfère le souligner.

 

J'ai eu un cas similaire au vôtre, mais la structure d'url n'était pas tout à fait la même. Le souci est que la personne qui m'aide à la technique au bureau est en congés, donc je suis un peu limité.

 

Je vous explique ma problématique et mes solutions, on devrait arriver à trouver ensemble en se passant des développeurs (ou pas ^^)

 

J'avais un client sur une solution autre que prestashop et qui voulait migrer vers cette solution.

 

La forme de ses urls était:

 

www.monurldesite.com/produits/REFERENCEPRODUIT-nom-du-produit.html

 

Il voulait passer vers la structure d'url de prestashop suivante:

 

www.monurldesite.com/ID-nom-du-produit.html (nous avons volontairement retiré le dossier catégorie des urls, c'est une vision SEO, tout le monde ne la partagera pas)

 

Nous avons donc créé un dossier "produits" sur le serveur, et collé dans ce dossier un fichier .htaccess contenant ceci:

 

<IfModule mod_rewrite.c>

# URL rewriting module activation

RewriteEngine on

 

# URL rewriting rules

RewriteRule ^REFERENCEPRODUIT/.*$ /ID-nom-du-produit.html [R=301,L]

(ceci url par url, il y a 3000 lignes en tout, mais nous avons automatisé la génération des url avec un script)

 

Je serais donc tenté de vous conseiller de tester en créant des dossiers et sous-dossiers (/#!/~/product/) et dans 'product' mettre un fichier htaccess de redirections.

 

Cette manipulation permettra de conserver le fichier .htaccess de prestashop "intact" et plus léger.

Share this post


Link to post
Share on other sites

Merci.

Je pense que l'idée est bonne malheureusement le dossier contenant le symbole ~ "ramène" au dossier racine...

Je vois pas trop de solution à mon problème du coup...

Share this post


Link to post
Share on other sites

Je vais tester sur un de mes serveurs demain.

 

Au pire, vous avez une solution la semaine prochaine quand notre tech reviendra tout bronzé!

Share this post


Link to post
Share on other sites

Merci beaucoup pour votre aide. Je vais continuer aussi de mon coté sait-on jamais.

Share this post


Link to post
Share on other sites

Bonjour JF Référenceur,

 

Je ne suis pas parvenu a une solution, avez-vous pu voir avec votre technicien s'il avait une réponse à mon problème ? Merci par avance.

Share this post


Link to post
Share on other sites

On a testé différente méthode sans trouver de solution.

 

Le souci se situe au niveau du #, qui n'est pas transmis au serveur.

On a essayé de ruser, mais sans trouver de solution.

 

Je demande à d'autres personnes ce week end.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More