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 .