RedirectPermanent + problème lié au point d'interrogation

WRInaute occasionnel
Bonjour,

Je fais face à un problème que je n'arrive pas à résoudre.
Je génère des url d'une manière dynamique, et dernièrement, j'ai laissé passé un bug dans la balise "canonical".

Exemple :
J'ai cette url : www.monsite/marteau-rouge.php
Et dans la balise canonical, j'ai affiché pendant quelques jours : www.monsite/<? echo marteau ; ?>-rouge.php

Conséquence, Google a enregistré des url de type "www.monsite/<? echo marteau ; ?>-rouge.php" et me renvoie des milliers de 404 sur ces urls qui n'existent pas.

A présent, je voudrais renvoyer une 301 sur ces url qui contiennent "..echo..", mais je n'arrive pas à trouver la solution.
Le "?" semble poser problème.

J'ai essayé des choses du type :

Code:
RewriteEngine on
RewriteBase /
RewriteRule "/<&#63; echo(.*);>-rouge.php" www.monsite/$1-rouge.php [R=301,L]

... mais ça ne marche pas !!
Quelqu'un a t il une piste pour m'aider ?

Merci,

Jérémie
 
WRInaute occasionnel
Merci pour le lien.
Je n'arrive pas à appliquer les solutions proposées (j'ai déjà parcouru les nombreux post qui traitent des redirections avec un "?" inclus dans l'url)
 
WRInaute occasionnel
Bonjour,

Personne n'aurait une idée pour m'aider à résoudre mon pb?

J'ai essayé avec la chose suivante ... mais ça ne marche ... toujours pas !

Code:
RewriteEngine on
RewriteBase /
RewriteRule ^/(.*)echo(.*)\.php/$ http://www.monsite.com/? [R=301,L]
 
WRInaute occasionnel
loubet a dit:
http://www.monsite/<? echo marteau ; ?>-rouge.php
le nom de la page, c'est donc <
le paramètre query string, c'est " echo marteau ; ?>-rouge.php"

Merci pour ton retour. Mais je ne comprends pas ton message.
 
WRInaute accro
Il te dit que vis a vis de l'url que tu donne en exemple :

http://www.monsite/<? echo marteau ; ?>-rouge.php

< représente le %{REQUEST_URI} (dans le htaccess pour ta redirection)
et echo marteau ; ?>-rouge.php représente le paramètre %{QUERY_STRING}

Perso je ne vois pas trop comment ré-écrire directement ça depuis le htaccess je pense qu'il faut intercepter en masse pour gérer ça depuis un script php.
 
Discussions similaires
Haut