Je sais que le framework PHP symfony vous permet de faire cela.
Comment ça marche: Dans config apache, utilisez mod_rewrite pour rediriger tous les Resquest entrant à un point d'entrée unique (en symfony ce qu'on appelle le « contrôleur frontal »)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
Dans ce contrôleur avant vous vont créer un objet "Request" qui contient toutes les informations fournies par l'URL.
Par exemple, vous pourriez dire que la première chose après le «/» est le nom du fichier PHP pour appeler et tout le reste sont des paramètres et des valeurs de sorte que: http://example.com/file/id/2 appellera file.php avec id = 2
Pour ce faire, utilisez simplement reg exp et concevez votre classe "Request" avec soin. Pour l'exemple ci-dessus, la classe "Request" doit fournir à la fois les méthodes getRequestedAction() et getParameter (string parameter). La méthode getRequestedAction() sera utilisée lorsque l'objet "Request" est entièrement rempli afin d'appeler le bon fichier/action/méthode.
si vous choisissez de remplir le tableau de paramètres de l'objet de la demande à la fois reg exp sur l'URL et une analyse syntaxique du tableau _GET, vous pouvez arriver au point où: http://example.com/file/id/2 est le même que http://example.com/file?id=2 (et les deux peut travailler)
vous pouvez choisir d'ignorer les extensions (http://example.com/fichier.html est le même que http://example.com/file), ou pas. Enfin, pour certaines URL, vous pouvez choisir d'ignorer tout ce qui se passe après le dernier '/'. Alors que: http://example.com/question/3/where-is-khadafi est le même que http://example.com/question/3/is-linux-better-than-windows
Dans les différents file.php, il suffit d'utiliser $ request-> getParameter (« id ») pour obtenir la valeur du paramètre « id », au lieu d'utiliser le _GET ou _POST tableaux.
Le tout est de
- Rediriger tout le trafic entrant vers un « contrôleur frontal »
- Dans ce fichier, créer un objet « demande » qui contient toutes les informations nécessaires pour faire fonctionner le site
- Appelez le action correcte (fichier php) sur la base des informations contenues dans cette « demande » objet
- A l'intérieur des actions, utilisez cet objet de requête pour récupérer les paramètres contenus dans l'URL
Espérons que cela aide
Quelqu'un at-il un exemple de cela? Je voudrais implémenter ce type de configuration mais je suis un peu perdu sur la façon dont le code ressemble réellement au fichier "file.php". –