Url rewriting et variables php

Résolu
devdream Messages postés 45 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 20 novembre 2019 - 26 sept. 2014 à 08:46
mpmp93 Messages postés 6652 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 ...


--
A voir également:

1 réponse

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
Modifié par mpmp93 le 29/09/2014 à 12:01
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
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
29 sept. 2014 à 12:00
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.
0
devdream Messages postés 45 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 20 novembre 2019
29 sept. 2014 à 14:51
Merci pour tout je vais y travailler, mais mon site n'est pas conçu en architecture MVC ...
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
29 sept. 2014 à 16:55
"mon site n'est pas conçu en architecture MVC ..."

Pourtant c'est l'orientation que vous souhaitez en ré-écrivant l'URL.
0
Rejoignez-nous