Først: du har en syntaksfejl. [0-9+] er en tegnklasse, der kan matche (i) cifre i området 0 til 9 , eller (ii) et + skilt. For at bruge + Flyt + som en kvantifier (som beregnet). efter ] , sådan:([0-9]+) .
For det andet: Du bruger $2 i din vare, som er produktnavnet. Hvis du vil bruge ID'et, skal du bruge $1 .
Her er hvad du skal bruge:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Jeg har tilføjet produktnumrene, bindestreg og understregning, hvis du får brug for det en dag.
Tredje: Du skal være opmærksom på sql-injektioner , dit script er ikke sikkert. Du kan rette dette ved at bruge mysql_real_escape_string .