Първо: имате синтактична грешка. [0-9+] е клас от знаци, който може да съвпада с (i) цифри в диапазона 0 до 9 , или (ii) + знак. За да използвате + като квантор (както е предвидено), преместете + след ] , така:([0-9]+) .
Второ: Използвате $2 във вашия артикул, което е името на продукта. Ако искате да използвате идентификатора, трябва да използвате $1 .
Ето какво трябва да използвате:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Добавих номерата на продуктите, тире и долна черта, в случай че някой ден ви потрябват.
Трето: Трябва да сте наясно с sql инжекции , вашият скрипт не е безопасен. Можете да коригирате това, като използвате mysql_real_escape_string .