Redirection de liens de plusieurs formes

Nouveau WRInaute
Bonjour,

J'ai des soucis avec une redirection.
Je souhaite rediriger toutes les adresses de la forme suivante :
1. http://www.monsite.com/fr/xyz
2. http://www.monsite.com/frame.php?lang=fr/xyz
3. http://www.monsite.com/xyz?lang=fr
vers
http://www.monsite.com/langues/fr/xyz.

Pour cela, j'utilise les règles suivantes, sans succès :
Code:
RewriteRule ^/?(fr)/(.+)$ langues/$1/$2 [QSA]
RewriteRule ^(.+)\?lang=(fr)(.*)$ langues/$2/$1/$3 [L]
Il n'y a que l'URL 1 qui est bien redirigé...
Pourriez-vous me donner un coup de main svp ? Merci.
 
WRInaute passionné
essaye :
Code:
RewriteRule ^(fr)/(.+)$ /langues/$1/$2 [L,QSA]
RewriteCond %{QUERY_STRING} ^lang=(fr)(.*)$
RewriteRule ^(.+)$ /langues/%1/$1/%2 [L]

Si tu veux faire une redirection il faut ajouter le flag R=301
 
WRInaute passionné
et avec ca :
Code:
RewriteRule ^(fr)/(.+)$ /langues/$1/$2 [L,QSA]
RewriteCond %{QUERY_STRING} ^lang=(fr)(.*)$
RewriteRule ^frame\.php$ /langues/%1/%2? [L]
RewriteCond %{QUERY_STRING} ^lang=(fr)$
RewriteRule ^(.*)$ /langues/%1/$1? [L]
 
Discussions similaires
Haut