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 d'url dans fichier .htaccess


Sujet :

Apache

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Points : 33
    Points
    33
    Par défaut Réécriture d'url dans fichier .htaccess
    Bonjour à tous,
    j'ai des petits problèmes sur la réécriture d'url

    mais url sont au format :
    www.ndd.fr/xx.php
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='page.php?id_menu=".$element_menu['id_menu']."/".$element_menu['titre_de_la_page']."'>".$element_menu['element_menu']."</a>
    soit www.ndd.fr/id_menu=4/titre-de-la-page
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='pagesousmenu.php?id_sous_menu=".$element_sousmenu['id_sous_menu']."'>".$element_sousmenu['element_sous_menu']."</a>
    soit www.ndd.fr/id_sous_menu=4

    à la racine du site j'ai créée un .htaccess

    j'ai effectué se paramétrage pour tester mes première URL de page ( www.ndd.fr/id_sous_menu=4 )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Options -Indexes
    ErrorDocument 404 /erreur404.php
    Options +FollowSymLinks 
    RewriteBase /
    RewriteEngine On
    RewriteRule ^page-([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)$ page.php?id_menu=$1/titre_de_la_page=$2 [L,QSA]
    Cela fonctionne, mais par moment une adresse de type figé style www.ndd.fr/galerie.php va passer sous la forme après un clic sur un menu

    www.ndd.fr/page-4/galerie.php
    si je vais d'en d'autre menu alors cela va passez en

    www.ndd.fr/page-4/page-3/mon_titre_de_page

    vraiment bizarre, si vous avez des idée pour m'aider merci par avance car ca plante total

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu n'as pas compris comment ça fonctionne.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='page.php?id_menu=".$element_menu['id_menu']."/".$element_menu['titre_de_la_page']."'>".$element_menu['element_menu']."</a>
    Là, ton lien VISIBLE est de la forme : page.php?id_menu=xxxx/titre-de-la-page

    Or, toi, tu veux que le lien VISIBLE soit : www.ndd.fr/id_menu=xxxx/titre-de-la-page !
    Il faut donc :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='/id_menu=".$element_menu['id_menu']."/".$element_menu['titre_de_la_page']."'>".$element_menu['element_menu']."</a>
    Cela dit, ce n'est pas terrible comme ré-écriture...

    Autant mettre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='/mn-".$element_menu['id_menu']."/".$element_menu['titre_de_la_page']."'>".$element_menu['element_menu']."</a>
    le lien VISIBLE sera : www.ndd.fr/mn-xxxx/titre-de-la-page

    Auquel cas :
    Code htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^mn-([0-9]+)/(.*)$ page.php?id_menu=$1 [L,QSA]
    Tu remarques que je ne récupère pas le titre de page, puisque l'id_menu me suffit à identifier formellement.

    N.B. tu peux mettre ce que tu veux :
    • mn- pour un menu
    • sm- pour un sous-menu,
    • ...

    Et écrire plusieurs lignes dans le htaccess :
    Code htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^mn-([0-9]+)/(.*)$ page.php?id_menu=$1 [L,QSA]
    RewriteRule ^sm-([0-9]+)/(.*)$ pagesousmenu.php?id_sous_menu=$1 [L,QSA]

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Points : 33
    Points
    33
    Par défaut
    Merci pour ta réponse mais je souhaitez recupperer le titre de la page pour le SEO

  4. #4
    Invité
    Invité(e)
    Par défaut
    Tu n'as toujours pas compris comment ça fonctionne...

    Le titre est bien dans les liens HTML et dans l'URL affichée : donc participe au SEO.

    TESTE !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Points : 33
    Points
    33
    Par défaut
    Donc j'ai effectué des test voici a présent le code du .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Options -Indexes
    ErrorDocument 404 /erreur404.php
    Options +FollowSymLinks 
    RewriteBase /
    RewriteEngine On
    RewriteRule ^mn-([0-9]+)/(.*)$ page.php?id_menu=$1 [L,QSA]
    RewriteRule ^sm-([0-9]+)/(.*)$ pagesousmenu.php?id_sous_menu=$1 [L,QSA]
    quand j'ai des url fixe exemple www.xxx.fr/galerie.php je clique dessus cela fonctionne
    lorsque je clic sur un lien dynamique entre autre celui ci http://xxx.fr/mn-4/locations-montage-vacance cela fonctionne
    a présent lorsque je reclique sur galerie.php
    cela m'affiche l'url http://xxx.fr/mn-4/galerie.php
    et tous mon site bloc.

    il garde la redirection url des url dymamique pour les quelques URL fixe avec l'id précedent.

    cependant si je clic sur le menu 4 dynamique portant l'url
    http://xxx.fr/mn-4/locations-montage-vacance
    et que je clic sur un sous menu exemple : http://xxx.fr/sm-2/ski-nautique l'url
    change bien et la transition fonctionne

    le problème et que la reecriture bloc sur les urls non dynamique
    si tu veut faire un test voici le lien

    merci pour ton aide

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    OK. C'est le / dans les liens qui ajoute un niveau...

    Remplace le / par un - :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^mn-([0-9]+)/(.*)$ page.php?id_menu=$1 [L,QSA]
    RewriteRule ^sm-([0-9]+)/(.*)$ pagesousmenu.php?id_sous_menu=$1 [L,QSA]
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^mn-([0-9]+)-(.*)$ page.php?id_menu=$1 [L,QSA]
    RewriteRule ^sm-([0-9]+)-(.*)$ pagesousmenu.php?id_sous_menu=$1 [L,QSA]
    Idem dans les liens.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='/mn-".$element_menu['id_menu']."-".$element_menu['titre_de_la_page']."'>".$element_menu['element_menu']."</a>

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Points : 33
    Points
    33
    Par défaut
    J'ai suivi tes conseils et modifié également les liens

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='/sm-".$element_sousmenu['id_sous_menu']."-".$element_sousmenu['titre_de_la_page_sous_menu']."'>".$element_sousmenu['element_sous_menu']."</a>
    et cela fonctionne parfaitement un grand merci


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien URL dans fichier
    Par julio02200 dans le forum WebDev
    Réponses: 3
    Dernier message: 02/02/2016, 14h47
  2. Réécriture d'url avec un .htaccess
    Par Sanyi dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 20/08/2008, 16h01
  3. Réécriture d'url dans fichier ASP
    Par Ishizaki dans le forum ASP
    Réponses: 1
    Dernier message: 22/02/2007, 11h44
  4. Chemin dans fichier htaccess
    Par Methode dans le forum Apache
    Réponses: 1
    Dernier message: 05/01/2007, 22h37
  5. [Sécurité] Refuser une URL par fichier .htaccess
    Par tom06440 dans le forum Langage
    Réponses: 7
    Dernier message: 28/11/2005, 18h09

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