Réécriture d'une chaîne contenant des espaces dans RewriteRule

Nouveau WRInaute
Bonjour

J'ai fait pas mal de recherches, notamment sur ce forum et pas mal d'essais mais rien de concluant pour l'instant.
Je cherche à réécrire des url qui contiennent des espaces et qui ont été indexées par google.

ex. :
Code:
RewriteRule ^/Products/(.*)/chaussure\ sport\ cuir$ /Products/$1/chaussure-sport-cuir [L,R=301]

J'ai essayé notamment d'échapper les espaces (\ ), de mettre des [:spaces:]...

Merci pour vos conseils
 
WRInaute accro
un truc du genre :

RewriteRule ^/Products/(.*)/chaussure.sport.cuir$ /Products/$1/chaussure-sport-cuir [L,R=301]

avec un point pour signifier n'importe quel caractère. fait attention un espace peut en cacher un autre est tu certains qu'il n'y en a qu'1 ?

edit -> il est possible que cela engendre une boucle... a voir
 
WRInaute accro
Bonjour,

J'essaierais ceci :
Code:
RewriteRule ^/Products/(.*)/chaussure\ssport\scuir$ /Products/$1/chaussure-sport-cuir [L,R=301]

\s représente un caractère d'espacement comme l'espace, le tab, etc.

Jean-Luc
 
Nouveau WRInaute
@jeanluc: Merci, j'avais essayé la solution des \s sans succès.
@zeb : Je n'avais pas essayé de mettre des point à la places des espaces, mais ça ne fonctionne pas non plus.
 
WRInaute accro
Probable que ça ne marche pas parce qu'il faut écrire :
Code:
RewriteRule ^Products/(.*)/... [L,R=301]
au lieu de
Code:
RewriteRule ^/Products/(.*)/... [L,R=301]
Jean-Luc
 
Nouveau WRInaute
Ayant d'autres règles dans mon htaccess, il y a peut-être des conflits (ceci dit ça ne fonctionne pas quand j'enlève les autres règles).
Je vais faire des redirectPermanent, pour une vingtaine d'url c'est jouable

Merci pour votre aide
 
Discussions similaires
Haut