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