Url rewriting et variables php [Résolu]

Messages postés
45
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
20 novembre 2019
- - Dernière réponse : mpmp93
Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
- 29 sept. 2014 à 16:55
Bonjour,

Voilà j'ai dans le projet de remplacer les urls de mon site :
http://monsite.fr/details.php?ref=10

Par une réécriture dans ce style, afin d'utiliser le titre et la ville provenant d'une BDD :
http://monsite.fr/details.php/$variable1-$variable2

Est ce possible? (je n'y connais rien en Rewriting)

Si çà l'est, il faudra générer une règle d'écriture ds le .htaccess !!!

Merci aux codeurs qui se pencheront sur ma question ...


--
Afficher la suite 

1 réponse

Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
4
0
Merci
Bonjour,

En matière d'URL rewriting, la norme est:
  controleur/action/param1/val1/param2/val2/


Pour ce qui vous concerne, il faudrait que details.php soit l'action et index.php le controleur:

details.php devient:
index/detail/


Ensuite, chaque clé-valeur sera codée comme suit:

index/detail/ref/10


Et là vous êtes cohérent pour utiliser cette réécriture d'URL:

   # Réécrit une URL de type xxx/yyy/zzz en index.php?controleur=xxx&action=yyy&id=zzz
RewriteEngine on
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controleur=$1&action=$2&id=$3 [NC,L]


Dans index.php il faudra vérifier via $_SERVER ce que vous aurez comme action. Si votre action c'est details, vous devrez mettre:

....code php....
include "details.php"
......



A+



Le présent est un fragment d'éternité coincé entre le passé et le futur
mpmp93
Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
4 -
En complément, pour bien comprendre l'architecture MVC, un très bon tutorial:
http://bpesquet.developpez.com/tutoriels/php/evoluer-architecture-mvc/

extrait:
L'automatisation du routage nous a conduit à définir pour notre site des URL de la forme monsite.fr/index.php?controleur=xxx&action=yyy&id=zzz. Afin de faciliter leur lisibilité et leur référencement, il serait souhaitable de les remplacer par des URL de la forme monsite.fr/controleur/action/id. Ce format d'URL est adopté par la plupart des plates-formes PHP modernes (frameworks, CMS, etc.). Par exemple, l'URL pour accéder à l'action index sur le billet 3 sera monsite.fr/billet/index/3.
devdream
Messages postés
45
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
20 novembre 2019
-
Merci pour tout je vais y travailler, mais mon site n'est pas conçu en architecture MVC ...
mpmp93
Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
4 -
"mon site n'est pas conçu en architecture MVC ..."

Pourtant c'est l'orientation que vous souhaitez en ré-écrivant l'URL.
Commenter la réponse de mpmp93