Voilà, j'ai fini ma gestion d'URL "robot friendly", et je vous la
soumet :
<?php
function generer_url_article($id_article) {
$url = '/article.php3/'.$id_article.'.html';
return $url;
}
function generer_url_rubrique($id_rubrique) {
$url = '/rubrique.php3/'.$id_rubrique.'.html';
return $url;
}
function generer_url_breve($id_breve) {
$url = '/breve.php3/'.$id_breve.'.html';
return $url;
}
function generer_url_forum($id_forum) {
$url = '/forum.php3/'.$id_forum.'.html';
return $url;
}
function generer_url_mot($id_mot) {
$url = '/mot.php3/'.$id_mot.'.html';
return $url;
}
function recuperer_parametres_url($fond, $url) {
global $contexte;
if(ereg('^/(article|rubrique|breve|forum|mot).php3/([0-9]+)\.html$', $url, $regs))
{
$contexte['id_'.$regs[1]] = intval($regs[2]);
}
return;
}
?>
ATTENTION, avec ce mécanisme, les chemins relatifs peuvent poser
problème, puisque l'on se trouve virtuellement dans un sous-répertoire
'article.php3' par exemple ...
Pour Gastero Prod, j'ai eu ce problème pour les URL construites
ci-dessus et pour les images d'articles, pour lesquelles j'ai juste eu
à ajouter un '/' en début d'URL de l'image dans la fonction
'integre_image' du fichier 'inc-calcul.php3' (ligne 25).
Il faudrait (c'est peut-être le cas) disposer d'une variable ou
constante donnant le chemin absolu de la racine du site SPIP depuis la
racine web, puisque tout le monde ne met pas SPIP à sa racine.
Nicolas.
--
Nicolas HOIZEY - Analyst @ TechMetrix Research
Free PHP projects http://www.phpheaven.net
Veille tous azimuts http://www.gasteroprod.com