IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[URL rewriting] Masquer l'ID dans l'URL


Sujet :

Apache

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 19
    Points : 14
    Points
    14
    Par défaut [URL rewriting] Masquer l'ID dans l'URL
    Bonjour,

    Je recherche une façon de réécrire les urls de mon site :

    Grâce à la redirection actuel, j'obtiens cette forme :

    http://www.site.com/motogt-19.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule  ^([-a-z]+)-([0-9]{1,8})\.html$ /articles.php?id=$2 [L]
    Et je recherche un moyen d'obtenir :

    http://www.site.com/motogt.html

    Je sais que cela est possible, mais je n'y arrive pas, pourriez-vous m'aider ?

    Merci

    Ps: site.com n'est qu'un exemple ;]

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est possible, oui et non. Le problème de fond c'est de savoir quel ID correspond à quelle URL. Apache ne pouvant pas les deviner dans l'absolu il faut soit les lui donner un par un, soit passer par un script PHP intelligent qui peut retrouver les ID à partir des noms de manière dynamique (chose qu'Apache ne peut pas faire). Donc :

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Merci de ta réponse ;]

    Citation Envoyé par _Mac_ Voir le message
    C'est possible, oui et non. Le problème de fond c'est de savoir quel ID correspond à quelle URL. Apache ne pouvant pas les deviner dans l'absolu il faut soit les lui donner un par un, soit passer par un script PHP intelligent qui peut retrouver les ID à partir des noms de manière dynamique (chose qu'Apache ne peut pas faire). Donc :
    • En effet cela doit marcher, mais ca implique d'écrire toutes les pages dans le hatccess (si j'ai bien comprit ?) c'est pas forcement pratique.

      Citation Envoyé par _Mac_ Voir le message
    • Solution 2 : par .htaccess et PHP :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      RewriteRule (.*)\.html /articles.php?title=$1 [L]
      avec articles.php qui utilise désormais le paramètre d'URL title pour retrouver la valeur du paramètre id.
  4. Tu connaitrais le code php, pouvant remédier à cette solution ?

    Enfin merci, je vais pouvoir approfondir mes recherches ;]

  • #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par shynx Voir le message
    En effet cela doit marcher, mais ca implique d'écrire toutes les pages dans le hatccess (si j'ai bien comprit ?) c'est pas forcement pratique.
    Tu as bien compris, et ce n'est effectivement pas très pratique.

    Citation Envoyé par shynx Voir le message
    Tu connaitrais le code php, pouvant remédier à cette solution ?
    Si tu me donnes tout le code source de ton site, oui !! Ca ne peut pas être générique : il y a 1001 façons de mapper un titre sur un ID, tout dépend de ton site.

  • #5
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Je te remercie de ce que tu fais pour m'aider

    je t'envoie un MP

  • #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je donne quelques détails sur ce que tu peux faire.

    Tu veux te passer de l'ID pour ne garder le titre. Pourquoi pas mais cela veut dire que tu es capable de retrouver l'article à partir du titre (jusqu'ici, tout va bien). Dans ce cas, 2 possibilités :
    • Soit tes articles portent ce titre quelque part (nom du fichier ou entrée en base de données) et dans ce cas il te suffit d'utiliser le titre comme clé de recherche des articles à la place de l'ID. C'est le cas facile.
    • Sinon, il faut imaginer une table de correspondance titre-ID et lire cette table de correspondance à partir du paramètre "titre" pour en déduire l'ID donc l'article.

    Si tu ne peux pas établir cette correspondance directe ou indirecte, tu ne peux pas faire autrement que de lister les URL une par une dans le fichier .htaccess.

  • #7
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Merci pour ton aide, j'ai trouvé et c'est rectifié

  • + Répondre à la discussion
    Cette discussion est résolue.
    ActualitésF.A.Q APACHETUTORIELS APACHELIVRES APACHE

    Discussions similaires

    1. [URL rewriting] Masquer un répertoire dans l'URL
      Par xynobes dans le forum Apache
      Réponses: 1
      Dernier message: 25/01/2011, 00h17
    2. Réponses: 5
      Dernier message: 27/08/2010, 07h52
    3. [URL Rewriting] CSS non appliquée dans l'url réécrite
      Par guigui5931 dans le forum Apache
      Réponses: 2
      Dernier message: 06/12/2007, 15h07
    4. [URL Rewriting] Sans slash final dans l'URL
      Par yanice dans le forum Apache
      Réponses: 2
      Dernier message: 26/10/2007, 19h23
    5. Réponses: 6
      Dernier message: 19/12/2005, 13h41

    Partager

    Partager
    • Envoyer la discussion sur Viadeo
    • Envoyer la discussion sur Twitter
    • Envoyer la discussion sur Google
    • Envoyer la discussion sur Facebook
    • Envoyer la discussion sur Digg
    • Envoyer la discussion sur Delicious
    • Envoyer la discussion sur MySpace
    • Envoyer la discussion sur Yahoo