Première : vous avez une erreur de syntaxe. [0-9+]
est une classe de caractères qui peut correspondre à (i) des chiffres dans la plage 0
à 9
, ou (ii) un +
pancarte. Pour utiliser le +
en tant que quantificateur (comme prévu), déplacez le +
après le ]
, comme ceci :([0-9]+)
.
Deuxième : Vous utilisez $2
dans votre article qui est le nom du produit. Si vous souhaitez utiliser l'ID, vous devez utiliser $1
.
Voici ce que vous devez utiliser :
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
J'ai ajouté dans les numéros de produits, un tiret et un trait de soulignement au cas où vous en auriez besoin un jour.
Troisième : Vous devez être conscient des injections SQL , votre script n'est pas sûr. Vous pouvez résoudre ce problème en utilisant mysql_real_escape_string .