Erstens: Sie haben einen Syntaxfehler. [0-9+]
ist eine Zeichenklasse, die mit (i) Ziffern im Bereich 0
übereinstimmen kann bis 9
, oder (ii) ein +
Schild. Um den +
zu verwenden als Quantifizierer (wie vorgesehen) verschieben Sie +
nach dem ]
, etwa so:([0-9]+)
.
Zweitens: Sie verwenden $2
in Ihrem Artikel, der der Produktname ist. Wenn Sie die ID verwenden möchten, müssen Sie $1
verwenden .
Hier ist, was Sie verwenden müssen:
RewriteEngine On
RewriteRule ^products/([0-9]+)\-([a-z0-9_\-]+)/?$ products.php?product_id=$1 [NC,L,QSA]
Ich habe die Produktnummern, Bindestriche und Unterstriche hinzugefügt, falls Sie es eines Tages brauchen.
Dritter: Sie sollten sich der SQL-Injektionen bewusst sein , ist Ihr Skript nicht sicher. Sie können dies beheben, indem Sie mysql_real_escape_string verwenden .