Récupérer un titre dans BDD et le mettre en URL

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Récupérer un titre dans BDD et le mettre en URL

Message le Sam Jan 07, 2006 11:27

Bonjour, j'ai dans ma base de données des news, dont je voudrais que le titre apparaisse en URL.

le chemin vers une news est du style :
-www.monsite.com/index.php?cat=1&id=23

avec l'url rewriting je peux faire ça :
-www.monsite.com/actualite-23.html

Mais ce que je voudrais, c'est récupérer le titre de la news en question dans la BDD pour avoir une URL du type :
-www.monsite.com/23-titre-news.html

est-ce possible?


jOoL
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 490
Inscription: 4 Mai 2005

Message le Sam Jan 07, 2006 11:46

Oui c'est possible!

C'est ce que je fais pour tous mes sites. Par-contre, c'est pas tout simple à faire. On a développé un cms pour ça.

L'idée, c'est de faire une sortie de BDD avec tous les titres des articles .

Ensuite tu génères les liens avec titres en sorties (menu/sitempap/etc).

Tu utilise l'URLRW pour transformer tes liens "mon_article.html" vers "index.php?titre=mon_article

Il faut parser le tout pour avoir des résultats identiques.

Pour afficher le bon article, tu fais une requête sql SELECT * WHERE titre_new = "mon article".

Idéalement, c'est bien de mettre l'id de ton article dans l'url ("mon_article_21.html). De cette façon, tu peux avoir 2 articles avec le même nom.

Voilà pour le principe.

N'hésite pas à me poser d'autres questions.
jOoL

venomelektro
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 257
Inscription: 16 Juin 2005

Message le Sam Jan 07, 2006 11:49

quel serait ton probleme?

au lien de passer un id en param , passe le titre

exemple

^article-(.*).html$ article.php?titre=$1

au lieu de :

^article-([0-9]+).html$ article.php?id=$1


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Message le Sam Jan 07, 2006 12:06

jOoL > ah d'accord donc je sui quand même obligé de mettre le titre extrait de la BDD en url avant de faire l'url rewriting. j'ai la réponse à ma question. Merci bcp Jool.

venomelektro > le problème est que je n'ai pas le titre en paramètre, seulement des id, etc.. je voulais donc savoir s'il existait un moyen direct pour intégrer le titre dans le .htaccess :D

Takumi
WRInaute discret
WRInaute discret
 
Messages: 118
Inscription: 4 Jan 2006

Message le Sam Jan 07, 2006 12:29

L'idéal dans ce cas serait de construire tes URL avec à la fois le titre et l'id, comme ça dans ton url rewriting tu récupère juste le paramètre id comme tu le fais actuellement.

Par exemple pour ton -www.monsite.com/23-titre-news.html ça donnerait la règle suivante :

^([0-9]+)-(.*)-news.html$ article.php?cat=1&id=$1

Ainsi seul l'id unique te permet de retrouver la news, et tu pourra changer à volonté le titre de ta news sans casser le lien. La plupart des sites fonctionnent comme ça, sauf les wiki, sinon ça oblige à stocker dans la base de données le titre avec son format tel qu'il est dans l'url.
Dernière édition par Takumi le Sam Jan 07, 2006 12:33, édité 1 fois.


Phs-Creation
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 7 Jan 2006

Message le Sam Jan 07, 2006 12:31

Sans l'id ... il y a quand meme un risque :

Si deux pages ont le même titre (Ca arrive assez vite), elles vont avoir la même url et là, tu va avoir quelques petits problèmes.

Donc, soit :
- T'es sur de toi et a chaque ajout d'article tu vérifie que le titre est unique.
- Soit l'id reste obligatoire.

Philippe


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Message le Sam Jan 07, 2006 12:37

Merci pour vos réponses :)

oui j'ai laissé l'id dans les exemples comme vous pouvez le voir "23-titre-news" ou 23 est l'id.

ma question portait plus sur la possibilité de récupérer le titre dans une BDD directement depuis le fichier .htaccess, sans passer le titre en paramètre d'url.


jOoL
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 490
Inscription: 4 Mai 2005

Message le Sam Jan 07, 2006 12:41

wasabi a écrit:jOoL > ah d'accord donc je sui quand même obligé de mettre le titre extrait de la BDD en url avant de faire l'url rewriting.


Bien sûr! L'URL RW ne fait qu'interpreter et modifier un url existant. Il faut donc construire préalablement l'url de la façon que tu veux qu'il soit visible.


Phs-Creation
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 7 Jan 2006

Message le Sam Jan 07, 2006 12:43

wasabi a écrit:Merci pour vos réponses :)

oui j'ai laissé l'id dans les exemples comme vous pouvez le voir "23-titre-news" ou 23 est l'id.

ma question portait plus sur la possibilité de récupérer le titre dans une BDD directement depuis le fichier .htaccess, sans passer le titre en paramètre d'url.


Le htaccess ne peux pas faire ca.

Tu dois creer les liens dans le fichier php source.

Philippe


jOoL
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 490
Inscription: 4 Mai 2005

Message le Sam Jan 07, 2006 12:43

Takumi a écrit: sinon ça oblige à stocker dans la base de données le titre avec son format tel qu'il est dans l'url.


Non! Par-contre ça oblige à "parser" les sorties de BDD et les URL à chaque requête pour pouvoir les comparer.


wasabi
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 420
Inscription: 13 Déc 2005

Message le Sam Jan 07, 2006 12:45

D'accord merci à tous :wink:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités