Redirection permanente d'un URL avec paramètres

WRInaute occasionnel
Bonjour,

J'ai une règle de réécriture pour changer example.com/default.asp?lang=en en example.com/en/
Ca marche mais le problèmes est que j'aimerai désindexer example.com/default.asp?lang=en de Google.
J'ai donc ajouté un RedirectPermanent dans .htaccess mais ça ne marche pas. Quelque pourrait m'aider ?
Code:
Options +FollowSymlinks
RewriteEngine on

# Rediriger l'ancienne page anglaise vers la nouvelle
RedirectPermanent /default.asp?lang=en http://www.agenceducapdantibes.com/en/

# Faire disparaitre default.asp
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*default\.asp\ HTTP/
RewriteRule ^(.*)default\.asp$ /$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(fr|en)/$ /default.asp?lang=$1 [L,QSA]
RewriteRule ^(fr|en)/(.*) /$2?lang=$1 [L,QSA]
 
WRInaute impliqué
Code:
# Rediriger l'ancienne page anglaise vers la nouvelle
RewriteCond %{HTTP_HOST} ^lang=en$
RewriteRule ^default\.asp$ http://www.agenceducapdantibes.com/en/ [L,R=301]

Je pense que cela devrait aller.
 
WRInaute impliqué
Arf, à force de faire des redirections de nom d'hôte, je me plante …
Tiens, celui-ci devrait être meilleurs :

Code:
# Rediriger l'ancienne page anglaise vers la nouvelle
RewriteCond %{QUERY_STRING} ^lang=en$
RewriteRule ^default\.asp$ http://www.agenceducapdantibes.com/en/ [L,R=301]

Ce n'était pas HTTP_HOST mais QUERY_STRING.
 
WRInaute occasionnel
euh, ça redirige sur ..../en/?lang=en :roll:

Mais je comprends plus rien là, il faut pas mettre un RedirectPermanent ??
 
WRInaute impliqué
J'vais peut'être dire une couille, mais si la redirection fonctionne, tu lui affectes un flag 301 et c'est réglé.
Non ?
 
WRInaute impliqué
fredm a dit:
euh, ça redirige sur ..../en/?lang=en :roll:

Mais je comprends plus rien là, il faut pas mettre un RedirectPermanent ??

C'est normal, la redirection transmet les paramètres d'URL. Pour les supprimer, il suffit d'ajouter "?" :

Code:
# Rediriger l'ancienne page anglaise vers la nouvelle
RewriteCond %{QUERY_STRING} ^lang=en$
RewriteRule ^default\.asp$ http://www.agenceducapdantibes.com/en/? [L,R=301]

Aller, on y arrivera ;)
 
WRInaute occasionnel
Super, ça marche nickel, (encore) merci !

Par contre j'ai constaté qu'il y a du relâchement là, en trois coups cette fois-ci ! 8)
 
Nouveau WRInaute
Je rebondis sur ce vieux sujet pour exposer mon problème, semblable mais différent :)

Je souhaite rediriger une ribenbelle d'URL
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-klein.html?price=1%2C100&limit=...
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-klein.html?code=1%2C100
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-klein.html?toto=2

vers à minima
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-klein.html

et de manière optimum
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-klein.html?price=1%2C100&limit=... pour le premier
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-klein.html?code=1%2C100 pour le second
et ainsi de suite

J'ai essayé d'adapter la réponse ci dessus
RewriteEngine on
RewriteCond %{QUERY_STRING} ^price=1$
RewriteRule ^lunette-calvin-klein\.html$ http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-klein.html? [L,R=301]

mais cela ne marche pas. Qu'ai-je raté ?

Merci par avance de vos lumières
 
WRInaute discret
Bonjour

voila le code :

Code:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^price=(.*)$
RewriteRule ^lunettes-calvin-klein.html$ http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-klein.html [L,R=301]

le même chose pour les autres paramètre


--

Mahdivitche

jpbauer a dit:
Je rebondis sur ce vieux sujet pour exposer mon problème, semblable mais différent :)

Je souhaite rediriger une ribenbelle d'URL
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-kl ... 0&limit=...
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-kl ... de=1%2C100
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunette-calvin-kl ... tml?toto=2

vers à minima
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-klein.html

et de manière optimum
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-k ... 0&limit=... pour le premier
http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-k ... de=1%2C100 pour le second
et ainsi de suite

J'ai essayé d'adapter la réponse ci dessus
RewriteEngine on
RewriteCond %{QUERY_STRING} ^price=1$
RewriteRule ^lunette-calvin-klein\.html$ http://www.laboutiquedoptique.com/lunettes-de-soleil/lunettes-calvin-klein.html? [L,R=301]

mais cela ne marche pas. Qu'ai-je raté ?

Merci par avance de vos lumières
 
Discussions similaires
Haut