Partage
  • Partager sur Facebook
  • Partager sur Twitter

Réécriture url avec /

    18 septembre 2020 à 11:13:46

    Bonjour,

    Tout d'abord désolé si le sujet existe déjà.

    J'aimerais remplacer le - par un / à la ligne 4 (pour supprimer un membre via son ID dans le cas de mon projet : localhost/blog/deleteUser/1 à la place de localhost/blog/get=deleteUser&id=1)

    J'ai fait un print_r($_GET) (dans le router :

    elseif ($_GET['get'] === 'deleteUser') {
    $this->adminController->deleteUser($_GET['id']);

    pour voir ce qui n'allait pas et j'avais ['chapter'] mais je veux ['id']

    1 RewriteEngine on
    2 RewriteCond %{REQUEST_FILENAME} !-f
    3 RewriteRule ^([a-zA-Z]+)/([0-9]+)$ index.php?get=$1&chapter=$2 [L]
    4 RewriteRule ^([a-zA-Z]+)-([0-9]+)$ index.php?get=$1&id=$2 [L]
    5 RewriteRule ^public/([a-zA-Z]+)\.png$ public/$1.png [L]
    6 RewriteRule ^(.+)$ index.php?get=$1 [QSA,L]

    J'espère que je me suis faire comprendre. Sinon je vous prie de m'excuser.

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      18 septembre 2020 à 11:29:35

      Euh, comment tu veux qu'une chaîne puisse matcher deux motifs strictement identiques ?!? Apache va s'arrêter et appliquer le premier d'entre eux (ta ligne 3) et l'autre (ta ligne 4 avec un / à la place du -) n'en serait jamais appliqué. C'est comme si tu avais une route qui bifurquait : tu ne peux pas aller à droite et à gauche à la fois, c'est l'un ou l'autre, tu dois choisir. Apache, c'est pareil, si tu lui colles deux motifs identiques ou qui se recouvrent, il "choisira" et appliquera le premier car il suit l'ordre de tes règles.

      Il faut un moyen de les distinguer (un préfixe ou un suffixe différent ou plus généralement une forme qui soit spécifique)

      Ta ligne 5 ne devrait pas être utile et il manque sûrement à la ligne 6 des conditions pour ne pas réécrire ce qui existe physiquement (à moins de d'abord gérer ces cas par une règle de non réécriture).

      -
      Edité par julp 18 septembre 2020 à 11:44:40

      • Partager sur Facebook
      • Partager sur Twitter
        18 septembre 2020 à 15:02:17

        Merci julp.

        C'est tout nouveau pour moi ^^

        Mais maintenant je comprends mieux.

        ps: même mon mentor n'a pas vu le problème!

        Prends bien de toi et encore merci.

        • Partager sur Facebook
        • Partager sur Twitter

        Réécriture url avec /

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown