par
rononedex » 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
en lieu et place du fameux
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
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]http://site.fr/article/id/slug[/code] en lieu et place du fameux[code] index.php?page=article&id=1&slug=slug[/code]
[code]$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');
}[/code]
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]#--------------------------------------------------
# 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]
#--------------------------------------------------[/code]
Donc voila !!! j'ai plus d'idée jespère que quelqu'un pourra m'aidé.
merci