a occhio direi che la tua espressione riconosce url del tipo /file/5.htm
starebbe a dire: riconosci url che iniziano con file/ poi un qualcosa senza barre, infine punto htm: quel qualcosa poi lo passi a id, quindi deve essere il 5 solamente.
prova...
in generale ti dico che se lasci solo l'id numerico, la riscrittura degli url serve, ma a poco...
faresti meglio a fare degli url tipo /file/5-tema-della-pagina.html poi nel php fai un explode della stringa separando le parti divise da - e consideri solo la prima... così ottieni delle url "parlanti".
![]()