Supprimer les espaces url rewriting

sospromo

Nouveau WRInaute
Bonjour,

je viens consulter vos lumières, j'ai fait un rewriting qui fonctionne bien, à ma surprise, mais la solution n'est pas propre. Mon rewriting est le suivant :

RewriteEngine On
RewriteRule ^code-reduction-([^-]*)-([^-]*)\.html$ /boutique_code.php?boutique=$1&IdSite=$2 [L]

Mon souci réside dans le contenu de mon champs "boutique" où peuvent se trouver "La redoute" ou "Tallissime la redoute" et ce code est naturellement traduit dans le rewriting en "La%20Redoute" ou "Tallissime%20la%20redoute"

Mon souhait ultime serait d'avoir des tirets "-" à la place des "%20" dans mon url rewritée :
code-reduction-la%20redoute-55.html

qui donnerait

code-reduction-la20redoute-55.html

Merci beaucoup par avance pour votre aide
 

nickargall

WRInaute accro
Bonjour
Je pense qu'il te fauttransformer les espaces en tirets en amont, avant de les traiter dans l'url rewriting.
Comme tu peux avoir tantot un, deux, trois ...espaces dans ton paramètre, tu ne peux pas établir de règle fixe. Enfin je crois.
 

nickargall

WRInaute accro
Si tu avais toujours 1 seul espace entre les mots, ou toujours deux, ou toujours trois, ça aurait été jouable.
 

nickargall

WRInaute accro
non, rien , je retie, essaie plutot de traiter la transformation "espace" en "tiret" (ou en virgule) en amont du .htaccess, cad en php.
Code:
str_replace(" ","-",$url);
ou
Code:
str_replace(" ",",",$url);
mais tu dois connaitre déja.
 

sospromo

Nouveau WRInaute
merci pour ton aide mais je ne peux faire cela car jai deja des page indexé par les moteurs de recherche et qui ont %20 dans leur url ! donc je pense que ca doit plutot etre une solution au niveau du htacess !!!!
help me !!!! je suis sur ce probleme depuis des jours !
Comment faire pour regler le probleme sans etre accuse de duplicata content par les robot !!????
merci davance
 

nickargall

WRInaute accro
si tes pages sont déjà indexées, et si tu changes leur URL, tu vas "dupliquer" leur contenu dans l'index des moteurs, nan ?
 

sospromo

Nouveau WRInaute
oui !!! ca donnera deux pages avec le meme contenu !!!
je voudrai eviter cela a travers lurl rewriting au niveau du htaccess
une idee ?
 

nickargall

WRInaute accro
Mon conseil :

- tu gères la transformation des espaces en tirets ou en virgules dans les paramètres passés qui vont créer l'URL
- tu mets en place une règle de réécriture
- tu mets des redirections 301 des anciennes URL vers les nouvelles
 

Discussions similaires

Haut