Redirection simple htaccess URL avec plusieurs paramètres

WRInaute discret
Bonjour,

Je me décide à poster car après avoir essayer de nombreuses techniques et lu des dizaines de tuto je viens demander un petit coup de pouce.

Je cherche à rediriger une page dynamique générée par un CMS, avec 3 paramètres en redirection permanente 301 en gardant tous les paramètres, juste en changeant l'url de base :

h*ttp://www.monsite.fr/aaa/bbb/ccc.dd&param1=xxx&param2=xxx&param3=xxx
vers :
h*ttp://www.monsite.fr/eee&param1=xxx&param2=xxx&param3=599

quelque chose qui me paraît relativement simple...

J'ai vraiment essayé pas mal de techniques, mais en vain, ça par exemple :
Code:
RewriteCond %{REQUEST_URL} ^ccc.dd$ [NC] 
RewriteCond %{QUERY_STRING} ^param1=$1&param2=$2&param3=$3 [NC] 
RewriteRule (.*) http://www.monsite.fr/eee [R=301,NC]

ou ça :
Code:
RewriteCond %{REQUEST_URI} ^/aaa/bbb/ccc.dd$ [NC] 
RewriteCond %{QUERY_STRING} ^param1=1&param2=2&param3=3$ [NC] 
RewriteRule (.*) monsite.fr/eee [R=301,NC]

Ces 2 tests me renvoie une page 404, comme si mes lignes dans mon htaccess ne changeaient rien.

Merci pour votre aide.
 
WRInaute discret
vitosss a dit:
Je cherche à rediriger une page dynamique générée par un CMS, avec 3 paramètres en redirection permanente 301 en gardant tous les paramètres, juste en changeant l'url de base :

h*ttp://www.monsite.fr/aaa/bbb/ccc.dd&param1=xxx&param2=xxx&param3=xxx
vers :
h*ttp://www.monsite.fr/eee&param1=xxx&param2=xxx&param3=599

Etrange manière de réécrire une url mais bon... Pour ton cas, ceci devrait faire l'affaire:

Code:
RewriteEngine on

RewriteCond     %{QUERY_STRING}     ^param1=(.*)&param2=(.*)&param3=(.*)$
RewriteRule     ^(.*)$              http://%{HTTP_HOST}/eee&param1=%1&param2=%2&param3=%3 [R=301,L]

vitosss a dit:
Ces 2 tests me renvoie une page 404, comme si mes lignes dans mon htaccess ne changeaient rien.

Pour éviter ça, il faut ensuite faire pointer ta nouvelle url réécrite vers quelque chose.
 
WRInaute discret
Merci pour votre réponse rapide mais ça ne fonctionne toujours pas. Je suis toujours sur une 404.

Je précise qu'en tappant dans mon navigateur l'url :
http://%{HTTP_HOST}/eee&param1=%1&param2=%2&param3=%3
je tombe sur la bonne page.
 
WRInaute discret
J'ai enfin réussi, merci de m'avoir mis sur la voie, pour info voici mon htaccess final, ça pourra servir à d'autres :

Code:
RewriteCond %{QUERY_STRING} ccc.dd&param1=(.*)&param2=(.*)&param3=(.*)$
RewriteRule ^(.*)$ http://www.monsite.fr/eee&param1=%1&param2=%2&param3=%3? [R=301,L]
 
Discussions similaires
Haut