Po pierwsze: masz błąd składni. [0-9+]
to klasa znaków, która może dopasować (i) cyfry z zakresu 0
do 9
lub (ii) +
podpisać. Aby użyć +
jako kwantyfikator (zgodnie z przeznaczeniem), przesuń +
po ]
, na przykład:([0-9]+)
.
Po drugie: Używasz $2
w swoim przedmiocie, który jest nazwą produktu. Jeśli chcesz użyć identyfikatora, musisz użyć $1
.
Oto czego potrzebujesz:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Dodałem numery produktów, myślnik i podkreślenie na wypadek, gdybyś go kiedyś potrzebował.
Po trzecie: Należy pamiętać o wstrzyknięciach SQL Twój skrypt nie jest bezpieczny. Możesz to naprawić, używając mysql_real_escape_string .