Ответ 1
Во-первых: у вас есть синтаксическая ошибка. [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 injection, ваш script небезопасен. Вы можете исправить это, используя mysql_real_escape_string.