Za prvé: máte chybu syntaxe. [0-9+]
je třída znaků, která může odpovídat (i) číslicím v rozsahu 0
až 9
, nebo (ii) +
podepsat. Chcete-li použít +
jako kvantifikátor (jak bylo zamýšleno) přesuňte +
za ]
, třeba takto:([0-9]+)
.
Za druhé: Používáte $2
ve vaší položce, což je název produktu. Pokud chcete použít ID, musíte použít $1
.
Zde je to, co musíte použít:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Přidal jsem čísla produktů, pomlčku a podtržítko pro případ, že to někdy budete potřebovat.
Za třetí: Měli byste si být vědomi sql injection , váš skript není bezpečný. Můžete to opravit pomocí mysql_real_escape_string .