Bonjour à tous,
J'essaie de faire un front controller très simple mais je rencontre quelque souçis.
Dans mon htaccess je redirige toutes les requêtes vers mon fichier d'index :
RewriteRule ^(.*) index.php
Donc une adresse du type http://monsite.com/module/action me renverra vers http://monsite.com/index.php/module/action.
Je traite donc cette url pour en tirer les infos dont j'ai besoin :
Note : j'omets volontairement les tests d'existence de variable et de sécurité pour aller à l'essentiel.
1 2 3 4
| $tabUri = explode('/',substr($_SERVER['REQUEST_URI'],1);
$module = $tabUri[0];
$action = $tabUri[1];
include($config->root.$module.'/'.$action.'.php'); |
Le reste du tableau correspond au divers arguments de la page.
Le problème avec cette méthode c'est que je n'arrive plus à passer d'argument en GET à mes pages. Si je rajouter un truc du genre ?arg = 1 , cela est juste rajouté à mon URI.
Par exemple si je veux passer un argument à mon index je suis coincé car http://monsite.com/monargument sera compris comme étant le module "monargument" et non pas la valeur de mon argument.
Existe il une solution ou dois je forcément passer mes arguments via l'uri et donc oublier le GET ?
Comment m'en sortir avec les arguments relatif à l'index si le GET n'est pas possible ?
Merci
Partager