Besoin d'aide router simple en PHP

Avatar du membre
Eléphanteau du PHP | 36 Messages

26 sept. 2017, 11:30

Bonjour,

Je souhaite me créer un rooter simple pas de poo etc... c'est juste pour comprendre la logique.

voila ce que j'ai au niveau de mon index !!

le but est d'avoir des url type

Code : Tout sélectionner

http://site.fr/article/id/slug
en lieu et place du fameux

Code : Tout sélectionner

index.php?page=article&id=1&slug=slug

Code : Tout sélectionner

$page = strtolower($_GET['page']); $themeForLayout = 'default'; if(isset($page) && !empty($page) && preg_match("/^[a-z0-9\-]+$/i",$page)){ if(file_exists('modules'. DS . $page . '.php')){ require 'modules'. DS .'func'. DS . $page.'.func.php'; var_dump($page); ob_start(); require 'modules'. DS . $page . '.php'; $contentForLayout = ob_get_clean(); require 'templates'. DS . $themeForLayout .'.php'; } }else{ redirect('home'); }

j'ai bien mes page qui s'affiche mai des que j'ai des paramètre en url id slug etc... bha ça me renvoie a mon else donc ma home, je sais pas comment le résoudre.

mon htaccess est somme toute standard :

Code : Tout sélectionner

#-------------------------------------------------- # Répertoire : www #-------------------------------------------------- # Le serveur doit suivre les liens symboliques : Options +FollowSymlinks AddDefaultCharset UTF-8 # Activation du module de réécriture d'URL : <IfModule mod_rewrite.c> RewriteEngine on </IfModule> #-------------------------------------------------- # Règles de réécriture d'URL : #-------------------------------------------------- RewriteBase / DirectoryIndex index.php?page=home RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #------------------------------------------------- RewriteRule ^(.*)$ index.php?page=$1 [QSA,NC,L] # cash image #RewriteRule ^images/(.*)\-([a-f0-9]+)\.(jpg|png)/?$ inc/images/$1.$3 [QSA,NC,L] # cash css #RewriteRule ^css/(.*)\-([a-f0-9]+)\.css/?$ inc/css/$1.css [QSA,NC,L] # cash JS #RewriteRule ^js/(.*)-([a-f0-9]+).js/?$ inc/js/$1.js [QSA,NC,L] #--------------------------------------------------
Donc voila !!! j'ai plus d'idée jespère que quelqu'un pourra m'aidé.

merci