8795 sujets

Développement web côté serveur, CMS

Bonjour,

Mon site est une boutique en ligne prestashop 1.5 où j'avais plusieurs catégories de produits.

J'ai créé une deuxième boutique en mode multiboutique avec les produits d'une catégorie de la première boutique.
Donc je cherche à rediriger un dossier du domaine vers ce même dossier du second domaine ...
par exemple

avant mon produit 1 était ici :
h..p://www.maboutique1.com/dossier1/1-produit.html

donc le produit 1 se trouve maintenant ici :
h..p://www.maboutique2.com/dossier1/1-produit.html


donc j'aimerai faire une redirection 301 de la page
h..p://www.maboutique1.com/dossier1/1-produit.html

vers la page
h..p://www.maboutique2.com/dossier1/1-produit.html


ou plutôt la redirection 301 du dossier
h..p://www.maboutique1.com/dossier1/

vers le dossier
h..p://www.maboutique2.com/dossier1/


avec des variables pour détecter automatiquement la suite de l'URL
ceci afin de ne faire qu'une seule redirection pour tous les produits de ce dossier1
et ne pas avoir à faire autant de redirection que de produits ...

mais voilà, je n'y parviens pas ...
car dans mon .htaccess si je met :

RewriteCond %{HTTP_HOST} h..p://www.maboutique1.com/dossier1/(.*)$ [NC]
RewriteRule ^/?(.*) h..p://www.maboutique2.com/dossier1/$1 [L,R=301]

ça ne fonctionne pas

En effet, le fait d'être en multiboutique prestashop signifie que le .htaccess est partagé par les 2 boutiques !

donc si je met ceci :

RewriteCond %{HTTP_HOST} ^dossier1/(.*)$ [NC]
RewriteRule ^/?(.*) h..p://www.maboutique2.com/dossier1/$1 [L,R=301]


je redirige aussi les urls du domaine www.maboutique2.com !


Merci par avance pour votre aide
J'ai essayé ceci :

Options FollowSymLinks
RewriteCond %{HTTP_HOST} http://maboutique1.com/fr/dossier1/(.*)$ [NC]
RewriteRule ^/?(.*) http://maboutique2.com/fr/dossier1/$1 [L,R=301]

mais la ligne
Options FollowSymLinks
provoque une erreur 500

apparemment cette option serait nécessaire pour ce type de redirection ?

J'ai trouvé cela aussi, qui ressemble exactement à ma problématique :

# wrong_domain/correct_path -> correct_domain/correct_path
RewriteCond %{HTTP_HOST} !^www\.maboutique1\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/dossier1$
RewriteRule ^(.*)$ http://maboutique2.com/$1 [L,R=301]

mais ne fonctionne pas non plus ...
c'est pour cela que ça marche pas ...

on m'a proposé cela :

RewriteCond %{HTTP_HOST} !^www\.maboutique1\.com$ [NC]
RewriteRule ^dossier1/(.*)$  http://maboutique2.com/$1  [L,R=301]


mais ça ne fonctionne pas non plus ...

une petite précision ... mon domaine par défaut n'a pas les "www" ... ça change peut-être la donne
centaure-net a écrit :
une petite précision ... mon domaine par défaut n'a pas les "www" ... ça change peut-être la donne

Pour la redirection que tu souhaites faire, les directives RewriteCond et RewriteRule ne sont pas appropriées. Et je ne pense pas qu'il s'agisse d'un problème de www.

Pourrais-tu nous montrer l'intégralité de ton .htaccess, histoire de voir si, par hasard, ton problème n'est pas causé par une instruction située ailleurs ?