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

Discussion dans 'URL Rewriting et .htaccess' créé par wasabi, 7 Janvier 2006.

  1. wasabi
    wasabi WRInaute occasionnel
    Inscrit:
    13 Décembre 2005
    Messages:
    325
    J'aime reçus:
    0
    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?
     
  2. jOoL
    jOoL WRInaute occasionnel
    Inscrit:
    5 Mai 2005
    Messages:
    393
    J'aime reçus:
    0
    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
     
  3. venomelektro
    venomelektro WRInaute discret
    Inscrit:
    16 Juin 2005
    Messages:
    171
    J'aime reçus:
    0
    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
     
  4. wasabi
    wasabi WRInaute occasionnel
    Inscrit:
    13 Décembre 2005
    Messages:
    325
    J'aime reçus:
    0
    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
     
  5. Takumi
    Takumi WRInaute discret
    Inscrit:
    4 Janvier 2006
    Messages:
    100
    J'aime reçus:
    0
    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.
     
  6. philippe1
    philippe1 Nouveau WRInaute
    Inscrit:
    7 Janvier 2006
    Messages:
    11
    J'aime reçus:
    0
    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
     
  7. wasabi
    wasabi WRInaute occasionnel
    Inscrit:
    13 Décembre 2005
    Messages:
    325
    J'aime reçus:
    0
    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.
     
  8. jOoL
    jOoL WRInaute occasionnel
    Inscrit:
    5 Mai 2005
    Messages:
    393
    J'aime reçus:
    0
    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.
     
  9. philippe1
    philippe1 Nouveau WRInaute
    Inscrit:
    7 Janvier 2006
    Messages:
    11
    J'aime reçus:
    0
    Le htaccess ne peux pas faire ca.

    Tu dois creer les liens dans le fichier php source.

    Philippe
     
  10. jOoL
    jOoL WRInaute occasionnel
    Inscrit:
    5 Mai 2005
    Messages:
    393
    J'aime reçus:
    0
    Non! Par-contre ça oblige à "parser" les sorties de BDD et les URL à chaque requête pour pouvoir les comparer.
     
  11. wasabi
    wasabi WRInaute occasionnel
    Inscrit:
    13 Décembre 2005
    Messages:
    325
    J'aime reçus:
    0
    D'accord merci à tous :wink:
     
Chargement...
Similar Threads - Récupérer titre BDD Forum Date
FORMULAIRE FB ADS récupérer les données Facebook 28 Juillet 2021
Récupérer le premier et dernier enregistrement sql Développement d'un site Web ou d'une appli mobile 16 Juillet 2021
Comment récupérer le solde impayé de mon compte Adsense ? AdSense 26 Juin 2021
Search Console Sitemaps non indéxés ""Impossible de recuperer le sitemap" Crawl et indexation Google, sitemaps 23 Juillet 2020
Récupérer backlinks vers liens morts : fausse bonne idée ? Netlinking, backlinks, liens et redirections 6 Avril 2020
Récupérer le contenu d'une vidéo youtube Le café de WebRankInfo 23 Mars 2020
Comment récupérer un compte insta ouvert par un cybersquatteur ? Autres réseaux sociaux 29 Janvier 2020
comment récupérer mon positionnement Problèmes de référencement spécifiques à vos sites 5 Janvier 2020
Attendre des années avant de récupérer l'argent amassé sur adsense AdSense 23 Novembre 2019
Comment récupérer variable dynamique pour GTM ? Google Analytics 30 Septembre 2019