Sauf si ces page ont leur propre ID, comme un sujet du forum phpBB.
Ou alors, il faut modifier ton site pour utiliser /site.php?idsite=titre au lieux de /site.php?idsite=ID.
Et faire des liens comme tu dis.
Cela suppose que chaque lien ait une url unique, et un champs pour cette url dans les données qui lui sont associées dans la db.
Après, il faudrait modifier les liens en sortie, comme on l'a fait, mais sans le "-s$id". Juste "$titre.html".
Et enfin, modifier la rewriterule.
La le souci, c'est de différencier cette règle des autres qui acceptent une injection de texte.
Un truc comme :
- Code: Tout sélectionner
RewriteCond!-f
RewriteRule ^([0-9A-Za-z]+)\.html$ /site.php?idsite=$1 [L]
Permet de faire passer l'url à site.php, qui doit tout de même se charger de vérifier qu'il est valide.
On vérifie avant que la requête ne concerne pas un vrai fichier, et on passe titre.html par la moulinette de la RegEx pour en tirer uniquement "titre" et la passer au script.
Comparable à ce qui se dit ici :
http://www.phpbb-seo.com/forums/mod-rew ... .html#5206
++