Mysql
 sql >> Datenbank >  >> RDS >> Mysql

URLs für Produktnamen umschreiben

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 .