Schémas identiques, variables $2 et $_GET différents

Discussion dans 'URL Rewriting et .htaccess' créé par JeSuisUnUtilisateur, 13 Novembre 2020.

  1. JeSuisUnUtilisateur
    JeSuisUnUtilisateur Nouveau WRInaute
    Inscrit:
    13 Novembre 2020
    Messages:
    6
    J'aime reçus:
    0
    Bien le bonjour ! :)

    J'essaie de me mettre gentiment à la réécriture d'url (j'ai lu le "guide complet" et quelques articles à droite à gauche) mais n'arrive pas à comprendre la "logique" dans le cas suivant :

    Il y a 2 url type sur mon site :
    Code:
    index.php?page=realisations&projet=nomProjet
    (Cette url ouvre une page avec les détails d'un projet en particulier)
    Code:
    index.php?page=realisations&filtre=luxe
    (Cette page ouvre un listing des projets de type "luxe", le filtre ayant été cliqué/sélectionné via un lien/bouton sur la page correspondant à index.php?page=realisations)

    Dans mon fichier .php, j'ai, pour récupérer les différentes variables du site :

    PHP:
    $page $_GET["page"];
    $projet $_GET["projet"];
    $filtre $_GET["filtre"];
    Je ne sais pas comment faire pour que :
    Code:
    index.php?page=realisations&projet=nomProjet
    devienne
    Code:
    /realisations/nomProjet/
    mais que celle ci-dessous fonctionne également :
    Code:
    index.php?page=realisations&filtre=luxe
    devienne
    Code:
    /realisations/filtre/
    Si je mets les deux lignes l'une en dessous de l'autre :

    Code:
    RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)\/$ /index.php?page=$1&projet=$2 [L]
    RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)\/$ /index.php?page=$1&filtre=$2 [L]
    seule la 1ère est prise en compte

    Je ne sais pas si c'est très clair (j'peux vous faire un schéma si besoin), j'ai essayé de chercher à droite à gauche mais je bloque :confused:

    Merci de votre aide.
     
  2. rick38
    rick38 WRInaute passionné
    Inscrit:
    23 Février 2013
    Messages:
    1 633
    J'aime reçus:
    239
    C'est pas possible, parce que le deuxième niveau /realisations/{type_ou_nom_de_projet}/ ne peut pas correspondre à deux urls, tu ne sais pas si c'est un type de projet ou un nom de projet, il faut choisir...
    Ou alors tu fais ça en PHP, en cherchant d'abord si la variable $projet correspond en fait à un type, et si ça n'existe pas comme type de projet, c'est que c'est un nom de projet.
    Sinon repenser l'url, par exemple /realisations/filtre/{type}/ ou /realisations/filtre-{type}/ bref un truc distinctif, si ça commence par "filtre-" là tu peux lui donner une réécriture d'url différente.
     
  3. JeSuisUnUtilisateur
    JeSuisUnUtilisateur Nouveau WRInaute
    Inscrit:
    13 Novembre 2020
    Messages:
    6
    J'aime reçus:
    0
    Tout d'abord, merci pour ta réponse :)

    En fait, initialement, je ne souhaitais pas spécialement que l'url d'UN projet (/realisations/{nom-projet}/) soit du même "niveau" (en terme de "structure" d'url) que l'affichage, avec un filtre, DES projets (/realisations/{filtre}/).

    A la base, dans ma tête, ça ressemblait à :

    - Lors de l'affichage de la liste des projets : /realisations/
    - Lors de l'affichage de la liste des projets, avec un filtre actif : /realisations/{type}/
    - Lors de l'affichage d'un projet on aurait : /realisations/{type}/{nom-projet}

    Mais là où est le vrai problème, c'est que dans la liste des filtres, j'ai un "Tous" (en plus de "Luxe" et d'autres), et, concrètement, l'url /realisations/tous/ revient à la même chose que /realisations/ (alors qu'on a pas ce problème pour le filtre "luxe" qui donne /realisations/luxe/, car du coup, le contenu de la page n'est pas le même). Et qu'en plus du doublon de contenu, le "tous" m'était inesthétique.

    Après, au moment où j'écris cette réponse, je me pose une autre question : n'est-ce pas envisageable de :
    1- Faire une redirection permanente de /realisations/tous/ vers /realisations/
    2- Garder la réécriture d'url, pour les filtres, sous la forme : /realisations/{type}/
    3- Passer à une réécriture d'url, pour les projets, sous la forme : /realisations/{type}/{nom-projet}/

    En gros, si le point 1 (la redirection du "tous") est faisable, partir sur UNE réécriture générale à 3 variables :

    Code:
    RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)\/$ /index.php?page=$1&filtre=$2&projet=$3 [L]
    Si tout ça n'est pas possible, ta première proposition semble sympathique :

    :D

    PS : Désolé encore une fois si mes explications/la forme est un peu "brut" :confused:
     
  4. JeSuisUnUtilisateur
    JeSuisUnUtilisateur Nouveau WRInaute
    Inscrit:
    13 Novembre 2020
    Messages:
    6
    J'aime reçus:
    0
    Bon bon bon... 'faut que j'aille dormir... j'ai fait simple :

    les liens de mes filtres "tous" et "luxe" pointent respectivement sur /realisations/ et /realisations/luxe/. Les projets affichés sur la page /realisations/ pointent vers realisations/{type}/{nom-projets}/

    Pas eu b'soin de /tous/, de redirection ou de se compliquer la vie pour rien en fait...

    Désolé, c'était un faux problème... J'ai tout de même appris que :

    Et c'est bien dommage, on devrait pouvoir mettre des lignes à la suite des autres, dans le .htaccess, du style :

    Code:
    RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)\/$ /index.php?var01=$1&var02=$2 [L]
    RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)\/$ /index.php?var01=$1&var03=$2 [L]
    RewriteRule ^([a-zA-Z0-9\-_]+)/([a-zA-Z0-9\-_]+)\/$ /index.php?var01=$1&var04=$2 [L]
    etc...

    Merci toutefois pour l'échange, ça a trié le caca que j'avais dans la tête... :rolleyes:

    PS : Je ne peux plus éditer le titre du sujet pour mettre "résolu", comment qu'on fait ? :oops:
     
    #4 JeSuisUnUtilisateur, 13 Novembre 2020
    Dernière édition: 13 Novembre 2020
Chargement...
Similar Threads - Schémas identiques variables Forum Date
WordPress Boutique en ligne - 2 noms identiques ? Débuter en référencement 29 Janvier 2020
Deux pages jugées identiques à partir de quel % ? Référencement Google 20 Septembre 2019
Search Console Supprime des pages identiques (Joomla) Crawl et indexation Google, sitemaps 5 Août 2019
Meta description et balise H2 identiques Rédaction web et référencement 21 Juillet 2016
Comment référencer près de 400 produits quasi identiques ? e-commerce 25 Mai 2016
contenus identiques sont servis depuis des URLs différentes Problèmes de référencement spécifiques à vos sites 3 Mars 2016
2 mots clés identiques avec un prix différent? AdWords 6 Juillet 2015
deux sites identiques en .fr et .com Débuter en référencement 18 Novembre 2014
SUM de 2 champs identiques dans deux tables mysql différentes Administration d'un site Web 9 Octobre 2014
Indexation sous domaines identiques Référencement Google 19 Mars 2014