Index du Forum » » Version future

Auteur

URL rewriting
freud
113     

  Posté : 17-05-2010 12:43

Bonjour,

La forme des urls à son importance pour le référencement, la sécurité mais apporte aussi un plus aux utilisateurs si l'on y place les titres des pages correspondantes. On a un aperçu du sujet en voyant juste le lien.

Pour des sites dynamiques, il faut passer par une fonction qui se chargera de la formater, et faire appel à cette fonction à chaque lien dynamique du site. Cela suppose également de revoir le fichier pages.php pour que ces nouvelles urls soient reconnues et agir en conséquence (meta, etc.).

Ça nécessite pas mal de boulot mais je crois qu'il faudra y venir tôt ou tard. Je suis prêt à travailler avec vous là-dessus si le cœur vous en dit.

Je l'ai fait sur une version Sable et ça marche très bien. Je bosse actuellement sur un nouveau site en version REvolution et je suis en train de mettre ça en place en apportant encore quelques modifs, notamment sur la forme des urls pour hiérarchiser les pages avec des slash.


Il convient donc de faire passer ces infos dans la fonction de construction d'url en prédéterminant le nombre de champs requis



make_!url(!'discussion',$topic,$page,$ancre,$autre)

- discussion indique le type d'url à trait er, nécessaire pour la formater ensuite)
- $topic étant l'id de la discussion
- $page et $ancre vous l'aurez compris
- $autre si d'autres infos sont à véhicule r. A déterminer



La fonction se charge alors de récolter le ou les titres dans la BDD :



if ($type=="article") { $table="stories"; $title="title";  $id="sid"; }
else if ($type=="sondage") { $table="poll_desc"; $ti tle="pollTitle"; $id="pollID"; }
else if ($type=="forum") { $table="forums"; $title=" forum_name"; $id="forum_id"; }
else if ($type=="discussion") { $table="forumtopics";&nbs p;$title="topic_title"; $id="topic_id"; }
...

$result=mysql_query("SELECT $title FROM $table WHERE  ;$id='$sid'");
...



On formate en commençant par supprimer les caractères spéciaux, en remplaçant les espaces par des tirets, etc. puis on renvoi l'url ainsi formatée.

On se retrouve avec des balises hypertextes sous la forme suivante :


<a href="'.make_!url(!'type',$id,'','').'" title="$title">lie n</a>



Message édité par : freud / 17-05-2010 12:44




Cet article provient de NPDS

http://www.npds.org/viewtopic.php?topic=24855&forum=4