je n arrive pas a masquer les variables dans mon url

Discussion dans 'URL Rewriting et .htaccess' créé par flexi2202, 31 Juillet 2021.

  1. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    bonjour a tous
    j ai suivi cet exemple https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting
    pour masquer mes variables
    mais il n y a rien qui se produit
    pourtant le .htaccess est a al racine du répertoire
    dans lequel il y a un sous répertoire articles
    avec un fichier qui possède le lien vers la page page article.php
    mon url reste inchangée

    voici ce que j ai fait
    j ai donc
    mon lien qui envois vers la page article avec un id et une rubrique
    <a href="article.php?id=<?php echo $id;?>&rubrique=<?php echo $rubrique;?>" >vers votre page</a>

    ensuite le fichier
    .htaccess

    #--------------------------------------------------
    # Répertoire : /articles/
    #--------------------------------------------------

    # Le serveur doit suivre les liens symboliques :
    Options +FollowSymlinks

    # Activation du module de réécriture d'URL :
    RewriteEngine on

    #--------------------------------------------------
    # Règles de réécriture d'URL :
    #--------------------------------------------------

    # Article sans numéro de page :
    RewriteRule ^article-([0-9]+)-([0-9]+).html$ /articles/article.php?id=$1&rubrique=$2 [L]

    # Article avec numéro de page :
    #RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+).html /articles/article.php?id=$1&page=$2&rubrique=$3 [L]
     
  2. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    relire le point 4 de la page et l'appliquer.
     
  3. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour la reponse
    mais dans mon cas j ai bien un sous dossier articles ou est entrepose le fichier article.php
     
  4. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    relire le point 4 de la page et l'appliquer.
     
  5. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    j ai beau le lire et le relire encore et encore
    et faire mille essais rien ne fonctionne
    j ai même essayer en mettant les chemins absolu partout

    car ce que je veux avoir c est bien ca
    article-([0-9]+)-([0-9]+)


    et ce que j ai c est ca

    article.php?id=$1&rubrique=$2

    et mon url pour afficher la page article
    est
    <a href="article.php?id=<?php echo $id;?>&rubrique=<?php echo $rubrique;?>" >vers votre page</a>
     
    #5 flexi2202, 31 Juillet 2021
    Dernière édition: 31 Juillet 2021
  6. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    ce point 4 dit :
    "En effet, les règles de réécriture du fichier .htaccess ne suffisent pas à ce que tout votre site soit au nouveau format, avec des URL propres ! C’est à vous de changer la façon d’écrire les liens"
     
  7. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour ce morceau de paragraphe je suis tout a fait d accord
    qu il faut refaire les liens

    mais dans mon cas j ai un utilisateur qui rentre 2 variables dans une page test.php
    et qu il envoie via un lien herf vers la page detail.php


    et que la page detail.php récupère les deux variables
     
  8. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    par quoi cela a-t-il été remplacé ?
     
  9. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    par ceci
    article-([0-9]+)-([0-9]+)
     
    #9 flexi2202, 31 Juillet 2021
    Dernière édition: 31 Juillet 2021
  10. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    donc :
    <a href="article-([0-9]+)-([0-9]+)" >vers votre page</a>
    ?
     
  11. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour la reponse

    donc la ligne complete comme ceci alors
    <a href="article-([0-9]+)-([0-9]+)" >vers votre page</a> $ <a href="article.php?id=$1&rubrique=$2>vers votre page</a> [L]
     
  12. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    le mieux pour commencer est de reproduire strictement l'exemple donné, sans rien changer. une fois que cela fonctionnera, il restera à procéder aux ajustements pour pointer vers article.php?id=$1&rubrique=$2
     
  13. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour l aide
    mais bon je ne comprends pas déjà l exemple
    tout ce que je remarque c est que l on a changer une url
    mis a part cela ...
    j avoue que le départ n est pas clair
    on doit créer une page qui s appelle comment ?
    enfin soit
    je vais abandonner
     
  14. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    "Ainsi, une page qui était accessible à l’adresse :

    https://www.notre-site.com/articles/article.php?id=12&page=2&rubrique=5

    sera accessible après URL rewriting à l’adresse (par exemple) :

    https://www.notre-site.com/articles/article-12-2-5.html"

    donc faire marcher cela sur votre site. renter
    https://www.votre-site.com/articles/article-12-2-5.html
    dans la barre d'adresse du navigateur et avoir le même résultat qu'en rentrant
    https://www.notre-site.com/articles/article.php?id=12&page=2&rubrique=5
    dans la barre d'adresse du navigateur.
    en mettant, pour débuguer :
    <?php
    phpinfo();
    ?>
    dans le fichier article.php
     
  15. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
  16. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    voila je vois la configuration de mon serveur je suis censé y découvrir quoi ?svp
    chez hostinger le module mod_rewrite
    est active de source
    d ailleurs ma page index.php est bien redirigée vers mon nom de domaine
    donc cette url réécrite fonctionne
    donc cela devrait fonctionner

    de cette facon cela fonctionne
    RewriteRule ^test\.html$ /test.php [L]
     
    #16 flexi2202, 31 Juillet 2021
    Dernière édition: 1 Août 2021
  17. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    bon voila je reviens j ai fait des essais et cela fonctionne

    donc que je rentre
    https://monsite/article.php?id=100&rubrique=200
    ou
    https://monsite/article-100-200.html

    j ai la bonne réponse dans ma page avec les échos des deux valeurs

    bon a présent
    je viens de modifier mon url pour la passage des variables de cette façon

    echo' <a href="article.php?id='.$id.'&rubrique='.$rubrique.'" >vers votre page</a>'

    lorsque je clic sur enter j ai bien l url suivante

    https://monsite/article.php?id=100&rubrique=200

    mais elle ne se modifie pas automatiquement en

    https://monsite/article-100-200.html

    j ai donc utiliser ceci dans le fichier htacess

    RewriteRule ^article-([0-9]+)-([0-9]+).html$ article.php?id=$1&rubrique=$2 [L]
    ou encore ceci

    RewriteRule href="article-([0-9]+)-([0-9]+)"$ article.php?id=$1&rubrique=$2 [L]
     
  18. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    relire le point 4 de la page et l'appliquer.
     
  19. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    j en suis désolé mais j ai beau relire encore et encore
    je ne vois pas ce que je fais qui ne fonctionne pas
     
  20. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    "Comment mettre en place l’URL Rewriting
    ...
    Changer tous les liens vers chaque fichier dont l’URL a changé."

    echo' <a href="article.php?id='.$id.'&rubrique='.$rubrique.'" >vers votre page</a>'
    que contenait cette ligne avant d'avoir changé l'url de destination ?
     
  21. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    comme ceci je pense
    echo' <a href="article.php?id=12&rubrique=100'" >vers votre page</a>'

    depuis ce matin que je cherche ...
     
  22. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
  23. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    j ai la même chose ...
    mais alors je dois ecrire comment cela dans le Rewriting
     
  24. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    s'il y a la même chose, c'est que le rewrting fonctionne, qu'il n'y a plus à y toucher.
     
  25. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour l aide
    mais dans ma page ou j ai l url
    l utilisateur clic sur un lien qui transmet ces variables vers la page article
    donc lorsque je clic sur le lien de la page test.html qui pointe vers la page article.php
    le lien reste en https://monsite/article.php?id=100&rubrique=200

    je souhaiterais que quand l utilisateur clic sur le lien de la page test.html

    que l url
    https://monsite/article.php?id=100&rubrique=200

    passe en
    https://monsite/article-100-200.html
    de façon automatique

    sans oublier que les variables ne sont pas toujours les memes bien sur

    car l exemple que tu viens de me montrer j obtiens le même résultat en changeant juste l url
    mais je souhaiterais que cela se fasse automatiquement
     
  26. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
  27. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    il se passe la même chose
    mais dans les deux liens les valeurs 100 et 200 sont le résultat de variable
     
  28. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    dans l url de test.html
    il y a le lien qui récupère deux variable et qui sont envoyé en GET vers article.php
     
  29. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
  30. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    oui absolument sauf que les chiffres ne sont pas connu a l avance
    ce sont des variables

    car le code de l url est le suivant
    et les variables sont le fruit des entrés faites par l utilisateur au debut

    echo' <a href="article.php?id='.$id.'&rubrique='.$rubrique.'" >vers votre page</a>'
     
  31. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    si le code html généré par le php est
    <a href="article.php?id=100&rubrique=200">vers votre page</a>
    cela fonctionne.
    le code php pour faire cela :
    echo ' <a href="article.php?id='.$id.'&rubrique='.$rubrique.'" >vers votre page</a>';

    si le code html généré par le php est
    <a href="/article-1000-2000.html">lien 2</a>
    cela fonctionne.
     
  32. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour le temps et la patience

    lorsque l utilisateur après avoir remplit ces deux variables clic sur
    echo ' <a href="article.php?id='.$id.'&rubrique='.$rubrique.'" >vers votre page</a>';

    l url affichée
    sera
    https://monsite/article.php?id=100&rubrique=200

    si je modifie cette url en
    https://monsite/article-100-200.html

    cela fonctionne aussi

    mais l utilisateur ne va pas devoir changer lui même d url

    il faut que le code
    <a href="/article-1000-2000.html">lien 2</a>

    soit généré avant le passage dans l url
     
  33. moiju36
    moiju36 WRInaute discret
    Inscrit:
    19 Mai 2017
    Messages:
    79
    J'aime reçus:
    2
    quand il clique sur le texte "vers votre page", il est dirigé vers le contenu du champ href. qui décide du contenu du champ href ? oh, c'est le webmaster du site, qui décide de mettre au final en html dans ce champ href article.php?id=100&rubrique=200 ou article-100-200.html
     
  34. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    prenons l exemple que je décide
    de choisir article-100-200.html
    comment je fais pour remplacer 100 et 200 par des variables ?
    car c est bien la le souci

    je suis entièrement d accord que dans test.html

    je puisse mettre ces deux liens et que quoique l utilisateur choisisse cela va s afficher

    puisque les variables sont prédéfinies

    mais dans mon cas lors de la construction de la page je ne connais pas encore 100 et 200
    cela peux très bien être
    1
    2
    3
    4
    85
    145
    7854

    c est suivant ce que l utilisateur va choisir comme chiffre pour sa variable

    si je connaitrais a avance les chiffres cela serait simple
     
  35. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    et c est la que tout est le problème
    dans l url de test.html
    je ne connais pas a l avance les valeurs de article et rubrique
    cela est compréhensible
    puisque mon url est construite de cette façon
    echo' <a href="article.php?id='.$id.'&rubrique='.$rubrique.'" >vers votre page</a>'
    il est impossible qu elle puissent être de cette façon

    <a href="/article.php?id=100&rubrique=200">lien 1</a>

    puisque 100 et 200 sont encore inconnues

    et seront introduite par l utilisateur lorsqu' il répondra a deux questions dans la page test.html

    j aurais très bien pour que cela soit mieux compris écrire ce lien et que ca soit l utilisateur qui me renseigne ces deux valeurs dans la page test.html

    echo' <a href="article.php?prenom='.$prenom'&nom='.$nom.'" >vers votre page</a>'
     
  36. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 813
    J'aime reçus:
    276
    C'est pas clair tout ça, mais déjà pourquoi tu ne changes pas ton code en :
    PHP:
    echo '<a href="/article-' $id '-' $rubrique '.html'">vers votre page</a>';
     
  37. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    merci pour la reponse
    mais il y a une erreur de syntaxe que je ne parviens pas a retrouver dans la ligne de code
     
  38. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 813
    J'aime reçus:
    276
    Une apostrophe en trop :

    PHP:
    echo '<a href="/article-' $id '-' $rubrique '.html">vers votre page</a>';
     
  39. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    ah voila super
    cela fonctionne en fin c est vraiment vraiment gentil
    mais y a un truc qui m échappe

    comment ce tour de force est il possible ?

    si je comprends bien le principe

    ce morceau de code récupère les deux variables
    article.php?id=$1&rubrique=$2


    qui sont ensuite reecrite
    en
    ^article-([0-9]+)-([0-9]+).html

    c est une fameuse gymnastique d esprit
     
  40. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 813
    J'aime reçus:
    276
    C'est plutôt dans l'autre sens, d'abord il récupère à partir de l'URL le ^article-([0-9]+)-([0-9]+).html et si ça colle, il l'interprête comme étant article.php?id=$1&rubrique=$2

    ^article-([0-9]+)-([0-9]+).html
    c'est ce qu'on appelle une expression régulière (reg exp), par exemple ^ signifie qu'il ne doit pas y avoir d'autres caractères avant, les parenthèses c'est pour les ensembles, les crochets pour une énumération ou un intervalle, ici de 0 à 9, + pour dire que la longueur est indéfinie, etc.
    Et donc il prend ce qui "match" avec la condition figurant dans les premières parenthèses pour le mettre à la place du $1 et pareil pour les deuxièmes.
    Enfin, c'est le module RewriteEngine qui s'occupe de ça.
     
  41. flexi2202
    flexi2202 WRInaute discret
    Inscrit:
    29 Mars 2009
    Messages:
    91
    J'aime reçus:
    1
    un tout tres grand merci pour cette explication rick38
    elle est super et enfin j ai compris
    il aura fallu du temps
     
Chargement...
Similar Threads - arrive masquer variables Forum Date
J'ai crée un site mais je n'arrive pas a voir du trafic et des clients . Demandes d'avis et de conseils sur vos sites 9 Mai 2021
Compte Twitter bloqué : cela peut vous arriver ! Twitter 25 Avril 2021
Google Analytics : avec quels mots-clés les visiteurs sont-ils arrivés ? Débuter en référencement 8 Avril 2021
Bootstrap 5 est arrivé Développement d'un site Web ou d'une appli mobile 9 Décembre 2020
Je n'arrive pas à trouver la balise h1 sur mon Blogger. Problèmes de référencement spécifiques à vos sites 5 Février 2020
Je n'arrive pas à indexer mon URL sans le Slash à la fin Débuter en référencement 24 Novembre 2018
WordPress L'intégrisme arriverait-il sur WordPress Le café de WebRankInfo 7 Novembre 2018
10 erreurs à éviter avant l’arrivée du Mobile-First Index de Google Crawl et indexation Google, sitemaps 19 Janvier 2018
Arriver dans le top 3 sur un mot clé concurrentiel ? Netlinking, backlinks, liens et redirections 21 Décembre 2016
99% arrive sur des pages 404 suite hacking Problèmes de référencement spécifiques à vos sites 15 Décembre 2016