La bienvenue
Je pense que oui, mais j'ai jamais essayé.
Le problème c'est les cas spéciaux, genre sous domaines ou domaines sans préfixe.
Le plus simple serait faire des liens du type :
- Code: Tout sélectionner
http://www.monsite.com/liens/www.sitemembre.com.html
Ou liens/ ne serait pas un vrai dossier.
Comme ça, cela nous permettrait de filtrer ce type de requêtes très facilement, en matchant ^liens/ en début de RegEx.
Une façon très simple de procéder serait :
- Code: Tout sélectionner
RewriteRule ^liens/([0-9A-Za-z_\.-]+)\.html$ /fiche.php?id_site=$1 [L]
Bien entendu, il faudrait bien vérifier la variable récupérée dans fiche.php avant d'interagir avec la db, mais on trie déjà pas mal de choses.
Déjà, le dossier virtuel permet de ne pas activer la rewriterule sur d'autres dossiers (virtuels ou pas), ensuite, on accepte uniquement un chaîne de caractères pouvant contenir des chiffres et quelques exceptions comme "-", "." et "_" (a voir si "," serait utile, pour un annuaire, je doute) et se terminant par ".html".
Il reste donc à passer la variable récupérée dans : id_site, ce qui doit, si le code est propre déjà être fait : valider l'url et la nettoyer éventuellement de code non appropriés.
Enfin, si notre dossier est virtuel côté serveur, pas besoin de modifier aucun chemin d'includes etc, le fichier fiche.php reste ou il est, les navigateur vont eux vraiment y croire, et tous les liens relatifs seront compris comme commençant à partir de ce dossier virtuel.
Du coup, les liens absolue, répétant l'url complète avec NDD, c'est pratique
++
Enfin, comme tu