salut,
décortiquons ta règle de réécriture :
RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]
RewriteRule : indique que c'est une règle de réécriture

^(.*)$ : expression régulière qui va déclencher la règle (dès que le masque est satiffait on l'utilise
index.php?p=$1 : le chemin de remplacement (c'est ce que tu aurais mis dans l'url) le $1 représente la 1ère parenthèse capturante.
donc cette régle prend tout et le met derrière le p (pour simplifier

).
prenons l'exemple de l'url du ce sujet :
php-debutant/question-sur-url-rewriting-t262306.html
php-debutant : nom du forum
question-sur-url-rewriting- ; le sujet du message
262306 : l'id du sujet dans la base
.html : heu pour faire beau
[QSA,L] : des flags pour le serveur, la je t'invite à regarde la doc d'apache sur le sujet pour plus d'info (j'vais pas tout faire

)
ici le titre du sujet est purement cosmétique et ergonomique (l'url est parlante, et je crois pratique pour les moteurs de recherche).
la règle de réécriture pourrait être (en simplifiant);
^([a-z\-]+)/([a-zA-Z0-9\-]+)t([0-9]+).html$ index.php?forum=$1&sujet=$3
bon c'est a la louche mais c'est l'exemple.
le $1 c'est le nom du forum, le 3 l'id
donc dans ton cas
http://NOM_DU_SITE/lapage/id
peux donner
^([a-z\-]+)/([0-9]+)$ index.php?page=$1&id=2
pour après les flags te permet, ou pas d'ajouter le reste de l'url, donc site/page?id=412 est équivalent à site/page/412
la doc d'apache c'est sur
apache.org (rubrique httpd, puis dans les tuto ré écriture d'url).
@+