Rediriger des pages dynamiques

Nouveau WRInaute
Bonjour à toutes et tous, je rame sur un htaccess pour rediriger des pages dynamiques vers une page spécifique (sur un autre site), à savoir que certaines pages vont vers une page N1 et d'autres vers une page N2.

Les pages actuelles sont du genre : http://www.domaine.com/categorie/?mot-cle=nomprod

J'essaye une règle du genre :
Code:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/categorie/$
RewriteRule .* - [L]
RewriteRule ^.*$ %{QUERY_STRING}
RewriteRule mot-cle=nomprod1 http://www.nouveaudomaine.com/sous-dossier/page-N1/ [R=301,L]
RewriteRule mot-cle=nomprod2 http://www.nouveaudomaine.com/sous-dossier/page-N2/ [R=301,L]
Sachant que j'ai 55 pages en tout à rediriger (28 en N1 et le reste en N2).
Là ça ne marche pas…
Merci d'avance pour vos lumières. 8)
 
Nouveau WRInaute
Hello

Code:
#Pour rediriger 1 seule page
RewriteCond %{QUERY_STRING} ^mot-cle1=nomprod1$
#Attention de bien vouloir rediriger vers "avec slash de fin" ou pas, sinon l'enlever : ...page-N1?
RewriteRule ^(.*)$ http://www.example.com/sous-dossier/page-N1/? [R=301,L]

#Pour rediriger plusieurs pages
RewriteCond %{QUERY_STRING} ^(mot-cle1|mot-cle2|mot-cle3)=(nomprod1|nomprod2|nomprod3)$
#Attention de bien vouloir rediriger vers "avec slash de fin" ou pas, sinon l'enlever : ...page-N1?
RewriteRule ^(.*)$ http://www.example.com/sous-dossier/page-N1/? [R=301,L]

#Autre exemple
#Pour rediriger plusieurs pages
RewriteCond %{QUERY_STRING} ^mot-cle=(nomprod1|nomprod2|nomprod3)$
#Attention de bien vouloir rediriger vers "avec slash de fin" ou pas, sinon l'enlever : ...page-N1?
RewriteRule ^(.*)$ http://www.example.com/sous-dossier/page-N1/? [R=301,L]
 
Nouveau WRInaute
Merci beaucoup -Tony-, ça marche très bien, il me reste le problème de la categorie qui pointait sur une sorte de sommaire et que je dois envoyer ailleurs que N1 ou N2.

Quand je fais un Redirect permanent les pages dynamiques associées l'utilisent et je perd donc mes cibles N1 et N2.

Voilà la règle :
Code:
Redirect permanent /categorie/ http://www.nouveaudomaine.com/ma-page-N3/
Comment empêcher de tracer les sous-pages de cette catégorie ? :?:
 
Nouveau WRInaute
Ok
Tu pourrais reformuler plus clairement s'il te plait ? Quelque chose du genre :

Dans ce cas là :

example.com/.../...

ou ce cas là :

example.com/.../...

Je ne veux pas les rediriger vers :

example.com/.../...

Mais vers :

example.com/.../...

EDIT : j'ai compris je crois :mrgreen:

Code:
#uniquement pour l'url : http://www.example.com/categorie/
RewriteCond %{REQUEST_URI} ^/categorie/$
#uniquement si pas de chaine de requete
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.example.com/ma-page-N3/ [R=301,L]
 
Nouveau WRInaute
Dans ma première question l'URL dynamique est construite sur une "catégorie" (slug) qui se place entre les URL ?mot-cle=prod et le NDD, en fait le menu du site utilise cette URL http://www.nomdedomaine.com/categorie/ pour afficher une page de sommaire des produits.
La première règle solutionne les redirections des URL produits, par contre ce que je met en redirect pour la catégorie rend inopérant cette règle pour les produits, tous les produits vont sur le redirect de la catégorie du coup.
Ce site va être refondu d'ici 2 à mois et je dois le mettre en veilleuse auprès des moteurs en redirigeant les pages vers des pages cibles temporaires ou définitive selon le webmarketeur.

Ce que je voudrais c'est rediriger /categorie/ vers une URL N3 sans que les URL associées /categorie/?mot-cle=produit ne soit redirigées par cette règle mais bien par la précédente.

Est-ce plus clair comme ça ? 8)
 
Nouveau WRInaute
Yes j'ai édité mon message avant que tu répondes, j'ai compris entre temps^^


Code:
#uniquement pour l'url : http://www.example.com/categorie/
RewriteCond %{REQUEST_URI} ^/categorie/$
#uniquement si pas de chaine de requete
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.example.com/ma-page-N3/ [R=301,L]
 
Nouveau WRInaute
[RÉSOLU] Re: Rediriger des pages dynamiques

Ça marche une fois le site désactivé, super !

Je te remercie beaucoup pour ce coup de main, j’apprends petit à petit la syntaxe du redirecting Htaccess. :roll: 8)
 
Discussions similaires
Haut