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 :

Réécriture URL de mes liens dynamiques


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut Réécriture URL de mes liens dynamiques
    salut j'ai réaliser un site de mon agence http://www.saaa.ma il est dynamique, les liens sont long et difficile a les comprendre, c'est pour ça j'ai entendu parlé du UrlRewriting

    j'ai cherché des tuto intéressent sur le net, mais probleme que j'arrive pas a l'adapter sur mes propres liens

    par exemple sur mon site SAAA on clique sur Actualites

    on aura lien
    index.php?choix=actualites&choix-menu=menuhG&choix-logo=logo1&categorie=actualiteSaaa&tab=2&lang=fr
    comment le rendre a se genre
    index.php/actualites_saaa_francais
    et puis quand je clique sur flag anglais lien va etre
    index.php/actualites_saaa_anglais
    etc svp j'ai besoin d'aide ?

  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
    Par défaut
    Tu en es arrivé où dans tes recherches ? Tu es arrivé à quel résultat (quel fichier .htaccess) ?

    Ce qui est gênant avec la cible que tu veux c'et qu'on n'y retrouve pas tous les paramètres d'URL. Par exemple, il manque les paramètres choix-menu, choix-logo et tab.

    A ce propos, j'aime bien le logo3 Ce n'est jamais une bonne idée de mettre en paramètre d'URL des éléments de l'IHM. Un logo, ça va mais imaginons que ce soit un JavaScript et là, on peut faire de belles bêtises avec ton site

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Tu en es arrivé où dans tes recherches ? Tu es arrivé à quel résultat (quel fichier .htaccess) ?

    Ce qui est gênant avec la cible que tu veux c'et qu'on n'y retrouve pas tous les paramètres d'URL. Par exemple, il manque les paramètres choix-menu, choix-logo et tab.

    A ce propos, j'aime bien le logo3 Ce n'est jamais une bonne idée de mettre en paramètre d'URL des éléments de l'IHM. Un logo, ça va mais imaginons que ce soit un JavaScript et là, on peut faire de belles bêtises avec ton site
    ok voila mon fichier .htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Options +FollowSymlinks
    RewriteEngine on
     
     
    RewriteRule ^[a-z]+-([a-z]+)-([a-z]+)\.html$  index.php?choix=actualites&choix-menu=menuhG&choix-logo=logo1&categorie=actualiteSaaa&tab=2&lang=fr  [L]
    ça marche seulement quand je clique sur menu actualites

    comment faire pour reecriture les autres liens ?

  4. #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
    Par défaut
    Citation Envoyé par sooprano Voir le message
    ça marche seulement quand je clique sur menu actualites
    C'est logique : tu as codé le paramètre choix=actualites dans la réécriture. Pour y arriver, il faut que tu exploites les groupes entre parenthèses. A priori, vu l'exemple que tu donnes dans ton premier message, je dirais qu'il manque un premier groupe entre parenthèses pour encadrer le premier [a-z]+ qui doit logiquement contenir le mot "actualites". Tu l'utilises alors dans la réécriture avec la notation $1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)\.html$  index.php?choix=$1&choix-menu=menuhG&choix-logo=logo1&categorie=actualiteSaaa&tab=2&lang=fr  [L]
    Tu peux faire la même chose avec les 2 autres groupes entre parenthèses avec $2 et $3 mais le problème c'est que je ne vois pas comment passer de actualites-saaa-francais aux paramètres categorie=actualiteSaaa et lang=fr. Ca marcherait si tu mettais actualites-actualiteSaaa-fr car dans ce cas $2 = actualiteSaaa et $3 = lang :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)\.html$  index.php?choix=$1&choix-menu=menuhG&choix-logo=logo1&categorie=$2&tab=2&lang=$3  [L]

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    C'est logique : tu as codé le paramètre choix=actualites dans la réécriture. Pour y arriver, il faut que tu exploites les groupes entre parenthèses. A priori, vu l'exemple que tu donnes dans ton premier message, je dirais qu'il manque un premier groupe entre parenthèses pour encadrer le premier [a-z]+ qui doit logiquement contenir le mot "actualites". Tu l'utilises alors dans la réécriture avec la notation $1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)\.html$  index.php?choix=$1&choix-menu=menuhG&choix-logo=logo1&categorie=actualiteSaaa&tab=2&lang=fr  [L]
    Tu peux faire la même chose avec les 2 autres groupes entre parenthèses avec $2 et $3 mais le problème c'est que je ne vois pas comment passer de actualites-saaa-francais aux paramètres categorie=actualiteSaaa et lang=fr. Ca marcherait si tu mettais actualites-actualiteSaaa-fr car dans ce cas $2 = actualiteSaaa et $3 = lang :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)\.html$  index.php?choix=$1&choix-menu=menuhG&choix-logo=logo1&categorie=$2&tab=2&lang=$3  [L]
    ah ok , merci pour l'explication j'ai tester
    actualites-saaa-francais.html
    ça me donne une page vide ,
    ainsi d'apres ce que tu m'as expliquer Mon fichier htaccess va etre a cette forme si je suis pas trompé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Options +FollowSymlinks
    RewriteEngine on
     
    RewriteRule ^([a-z]+)_([a-z]+)_([a-z]+)_([a-z]+)_([0-9]{2}+)_([a-z]{2})\.html$  index.php?choix=$1&choix-menu=$2&choix-logo=$3&categorie=$4&tab=$5&lang=$6  [L]
    j'ai donner a mon menu actualites href=
    actualites_menuG_logo1_actualiteSaaa_2_fr.html
    le resultat c'est que ça marche pas URL NOT FOUND comment faire pour realiser une Reecriture correcte

  6. #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
    Par défaut
    Ca ne marche pas parce que ton filtre ne correspond pas à ton URL. Si on découpe par rapport au caractère _, tu essaies de faire correspondre les éléments suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ([a-z]+)      actualites
    ([a-z]+)      menuG
    ([a-z]+)      logo1
    ([a-z]+)      actualiteSaaa
    ([0-9]{2}+)   2
    ([a-z]{2})    fr
    Le filtre 1 passe : que des lettres en minuscule
    Le filtre 2 échoue : il ne contient que des lettres en minuscule alors que "menuG" contient une majuscule
    Le filtre 3 échoue : il ne contient que des lettres en minuscule alors que "logo1" contient un chiffre
    Le filtre 4 échoue pour la même raison que le filtre 2
    Le filtre 5 échoue : il attend au moins 2 chiffres mais tu n'en présentes qu'un
    Le filtre 6 passe

Discussions similaires

  1. Réécriture url avec paramètres dynamiques
    Par gtraxx dans le forum Apache
    Réponses: 4
    Dernier message: 27/10/2011, 09h00
  2. Réponses: 2
    Dernier message: 25/02/2010, 15h34
  3. [Débutant] Pb avec les paramètres dans lien dynamique
    Par hackwell69 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/02/2005, 11h33
  4. [DisplayTag] Comment créer un lien dynamique
    Par tscoops dans le forum Taglibs
    Réponses: 3
    Dernier message: 17/02/2005, 09h53
  5. [Javascript] Suppression de lien dynamique
    Par Invité4 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/01/2005, 10h36

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