8791 sujets

Développement web côté serveur, CMS

Bonjour,

Autant il existe beaucoup d'article sur l'implémentation de l'url rewriting via .httaccess sur le net, autant je n'ai pas trouvé grand chose sur la partie ré-écriture des liens pour qu'ils soient au bon format.
Je m'explique : L'url rewriting permet de traduire une page du style "www.mon_site.fr/article-25-comment-ecrire-mon-script.html" en "www.mon_site.fr/article.php?id=25"

A priori il existerait plusieurs façon de faire pour que les urls envoyé par les pages soient au format "article-25-comment-ecrire-mon-script.html"
1/ Je pase sur tous les liens de toutes les pages et je les formatte (pas très évolutifs tout ça Smiley decu )
2/ Pour chaque lien je fais appel à une fonction qui me reformate le lien (il va falloir gérer tous les cas avec leurs différences de structure)
3/ Soit mettre en cache la page et avant le chargement récupérer les liens et les ré-écrire (avec des expression régulières ???)

Actuellement, la structure des mes pages est stockée en base (id_page, titre_page, nom_page,..) ainsi que mes articles.

Que me conseillez vous ?
Avez vous des exemples de script ?

Merci
Modifié par Babali (17 Apr 2009 - 17:57)
Salut,

ben je suppose que tu as également un champ catégorie dans ta table (ou en tout cas un id_categorie). Du coup tu pourrais faire tout simplement :
$lien = $nom_categorie.'-'.$id_page.'-'.nettoieChaine($titre_page).'.html';
la fonction nettoieChaine servant à supprimer les accents et autres caractères génants dans une url et à remplacer les espaces par des tirets.

Et plutôt que de le refaire à chaque fois tu pourrais ne le faire qu'au moment de l'INSERT dans ta table et rajouter un champ lien.

Pour te donner une idée de ce que ça donne voir l'URL de cette astuce ou de celle-ci.
Si je comprend bien, je créé dans ma table article un champs lien et je stocke le lien ai moment de l'insert ?

Les id étant en "auto increment" il faudrait que je récupère le dernier id insérer dans la table et ajouter + 1 pour avoir l'id de la page que je créé.

J'avais pas penser à cette solution Smiley biggrin . Effectivement cela va règler 80 % des liens du site.
Il me restera à traiter les 20 % à la marge (page incluant des paginations et pages simples).
Babali a écrit :
Les id étant en "auto increment" il faudrait que je récupère le dernier id insérer dans la table et ajouter + 1 pour avoir l'id de la page que je créé.
Personnellement je n'aurais stocké que la chaîne nettoyée puisque l'id tu l'auras toujours sous la main et que la catégorie peut être amenée à changer. D'ailleurs ce n'est pas obligatoire de stocker cette info mais c'est juste pour des raisons de "cooluri".