Primeiro: você tem um erro de sintaxe.
[0-9+]
é uma classe de caracteres que pode corresponder a (i) dígitos no intervalo 0
até 9
, ou (ii) um +
sinal. Para usar o +
como um quantificador (como pretendido), mova o +
após o ]
, assim:([0-9]+)
. Segundo: Você está usando
$2
em seu item que é o nome do produto. Se você quiser usar o ID, você deve usar $1
. Aqui está o que você precisa usar:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Adicionei os números do produto, traço e sublinhado caso você precise algum dia.
Terceiro: Você deve estar ciente das injeções de SQL , seu script não é seguro. Você pode corrigir isso usando mysql_real_escape_string .