Supprimer la fin des url avec une RedirectPermanent 301

Nouveau WRInaute
Bonjour,

J'ai un problème d'url avec un composant qui a généré à la fin des url des "?time=xxxx". Ce "?time=xxx" correspond à un index de temps qui est ajouté aux url (apparemment pour le cache de Chrome d’après le développeur).

Googlebot a indexé à chaque passage une nouvelle url pour la même url. Vous voyez l'embrouille, j'ai plus de 5 millions d'url indexées, soit 1000 à 2000 fois trop, et google est pas content du tout.(dans pas longtemps le châtiment supréme)

Je vais supprimer dans le code ces "?time=xxxx", mon souci est de faire des RedirectPermanent type 301 dans mon .htaccess pour les url de base que je souhaite conserver, donc sans le "?time=xxxx" à la fin.
Exemple:
http://www.monsite.fr/mon-url-ok/?time=1299603042
Doit devenir
http://www.monsite.fr/mon-url-ok

J'ai une maîtrise très partiel des URL Rewriting et si quelqu'un peut me donner des infos c'est très volontiers.

Cordialement.
Franck
 
WRInaute impliqué
Si tu es sur de ne plus avoir de paramètres d'URL après avoir enlevé "time", tu peux faire ça:
Code:
RewriteCond %{QUERY_STRING} time=[0-9]+
RewriteRule (.*) $1? [R=301,L]

Ce devrait fonctionner.
Le fait de mettre "?" sans rien derrière va faire une redirection en supprimant tous les paramètres d'URL.
 
Nouveau WRInaute
Merci pour cette réponse rapide.

Je fais un test et vous informe du résultat.

Salutations.
Franck.
 
WRInaute impliqué
Y aurais pas plus simple déjà de commencer par demander à ton développeur de supprimer ses paramètres inutiles ?

Ensuite, de faire les redirections.
 
Nouveau WRInaute
Les modifs de code ne posent pas de problème, le souci c'est la redirection des url déjà indexées.
Je fais des essais, il semblerait que les lignes ci-dessous règles le problème:
RewriteCond %{QUERY_STRING} time=[0-9]+
RewriteRule (.*) http://www.monsite.fr/$1? [R=301,L]
 
Discussions similaires
Haut