J'ai rencontré le même besoin que toi.
J'ai trituré le .htaccess sans y arriver.
Ce que j'ai fini par faire, c'est de rewriter mes pages avec un .htaccess de manière à ce qu'elles soient appellées depuis un script PHP nommé affiche.php :
RewriteEngine on
RewriteRule ^(.*\.htm)$ /affiche.php?page=$1 [QSA]
RewriteRule ^(.*\.html)$ /affiche.php?page=$1 [QSA]
Ce affiche.php parse (parcoure) le fichier envoyé en paramètre, et y cherche un caractère, ou une chaine de caractère (appellé pattern). Il retourne le fichier htm jusqu'au pattern, exécute la ligne correpondant au pattern, c'est-à-dire la ligne de code que tu veux qu'il exécute, puis retourne la fin du fichier htm. Ca marche parfaitement bien.
Je te file une version allégée et transformée de mon code ci-dessous, à toi de le vérifier et de l'adapter. Tu peux me mailer si tu a besoin
if (isset($_GET['page']))
{
$page=urldecode($_GET['page']);
if (in_array(strtolower(substr($page,0,4)),array("htt p","ftp:")))
{
echo "Arrête ton piratage de gamin !!!";
die();
}
if (is_file($page))
{
if($resource=fopen($page,'r'))
{
$contenu=fread($resource,filesize($page));
fclose($resource);
$coupure_3=strpos($contenu,"PATTERN");
$coupure_4=strlen($contenu);
if ((!$coupure_3===false))
{
echo substr($contenu,0,$coupure_3);
// ICI LA LIGNE DE CODE QUE TU VEUX EXECUTER
echo substr($contenu,($coupure_3+(ICI LA TAILLE DE TON PATTERN)),($coupure_4-$coupure_3-(ICI LA TAILLE DE TON PATTERN)));
}
else
{
echo substr($contenu,0,$coupure_4);
}
}
else
{
echo "Désolé, je ne peux accéder à cette page °^o !!!";
die();
}
}
else
{
echo "Nous sommes désolés, mais cette page n'existe pas (plus ?) Bref, dans tous les cas, nous n'avons rien d'intéressant ici pour vous ;-). Cliquez
ici pour revenir à l'accueil, ou sur 'précédent' pour revenir à la page du même nom..";
}
}
else
{
echo "Pfffff... Gros naze !";
die();
}
?>