Först: du har ett syntaxfel. [0-9+] är en teckenklass som kan matcha (i) siffror i intervallet 0 till 9 , eller (ii) ett + tecken. För att använda + som en kvantifierare (som avsett), flytta + efter ] , som så:([0-9]+) .
Andra: Du använder $2 i din vara som är produktnamnet. Om du vill använda ID:t måste du använda $1 .
Här är vad du behöver använda:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Jag lade till produktnumren, bindestreck och understreck om du skulle behöva det någon gång.
Tredje: Du bör vara medveten om sql-injektioner , ditt skript är inte säkert. Du kan fixa detta genom att använda mysql_real_escape_string .