Question Url rewriting

  • Auteur de la discussion Auteur de la discussion slek
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

Voici ma regle re réecriture :

RewriteRule ^occasion-(.*).htm$ publi_ann2.php?nom_cat=$1 [L]

nom_cat = nom de la categorie

Le nom de la categorie peut etre composé -> exemple "Graveur de cd"

Dans l'url des pourcentage sont mis a la place des espaces, j'aimerais pouvoir remplacer les espaces par des tirés, comment je peut faire cela avec une regle de reecriture ?

a la place de "occasion-Graveur%de%cd" j'aimerais avoir
"occasion-Graveur-de-cd.htm"

Merci beaucoup
 
WRInaute discret
ben disons que je ne sais pas si l'url rewriting est vraiment ce qu'il te faut !

Pourquoi as-tu des liens avec des espaces ?? C'est peut-être ces liens qu'il faut générer sans espaces... et ensuite, à la rigueur tu pourrais tout traiter même en le mettant dans une seule variable php via explode, ereg & cie...
 
Nouveau WRInaute
Oui j'ai bien pensé à enlever les espaces dans le nom des categories qui sont stockés dans ma base de donnée mais le probleme quand je vais afiché mes catégorie sur mon site ca fera pas top, a moins que ds le code pour l'affichage je retire les -

Sinon pour explode que veut tu dire ?
 
WRInaute discret
ben tu peux avoir des catégories avec espaces mais générer les "-" à la place pour tes liens dynamiquement via un str_replace() (cf aide PHP)

Code:
Description
mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )


str_replace() retourne une chaîne ou un tableau, dont toutes les occurrences de search dans subject ont été remplacée par replace. Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace() et preg_replace(). 

Depuis PHP 4.0.5, chaque paramètre de str_replace() peut être un tableau.

pour explode & cie, ça permet de diviser une chaine selon un séparateur (très pratique qqes fois, mais apparement pas dans ton cas)
 
WRInaute passionné
Tu laisse tes catégories telles quelles dans ta base mais tu les modifient via php lorsque tu les utilise pour les url.
J'utilise ça :
Code:
$cat_url=eregi_replace("[\ ]+","-",$cat)
(y'a certainement mieux mais ça marche et j'ai pas envie d'y réfléchir plus)

[edit]
Grillé :?
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut