Meine Frage ist, wie die URL in der RewriteRule angezeigt wird, wenn ich auf den Link klicke (domain.com/?brandID=1 & name = Beretta).htaccess rewriteRule zeigt keine neue URL an
Meine Tests lassen mich glauben, dass es etwas mit index.php zu tun haben könnte, aber vielleicht nicht. Mein Skript wird ausgelöst, indem die Variable GET gesetzt wird, und fragt die Datenbank ab und schließt die Seite ein, auf der die Ergebnisse (und die "hässliche" URL) angezeigt werden.
Hier ist der .htaccess-Code:
# Rewrite for ?brandID=1&name=Name
RewriteRule ^pistol-brand/([0-9]+)/([0-9a-zA-Z_-]+) ?brandID=$1&name=$2 [NC,L]
Ich möchte domain.com/?brandID=1 & name = Beretta mit domain.com/pistol-brand/1/beretta
Die ersetzen Code oben zeigt die "hässliche" URL an, aber wenn ich die URL zu dem ändere, was die RewriteRule angibt (domain.com/pistol-brand/1/beretta), funktioniert die Seite.
Wie bekomme ich die "neue" URL angezeigt, wenn der Link angeklickt wird?
Vielen Dank für Ihre Hilfe.
'? Brandid = $ 1 name = $ 2' ist keine gültige URL zu umleiten, können Sie nicht auf die neu zu schreiben. – arkascha
Ich scheiterte auch mit: \t RewriteRule^Pistole-Marke/([0-9] +)/([0-9a-zA-Z _-] +) index.php? MarkeID = $ 1 & Name = $ 2 [NC, L] – JimB814
Ich bin mir nicht sicher, ob Sie verstanden haben, wie URL-Umschreiben funktioniert. Versteh das nicht falsch! Ich versuche nur, hier viel Frust zu vermeiden. Die obige Regel wird sicherlich nichts tun, wenn Sie auf einen solchen Link klicken: "http: // domain.com/? BrandID = 1 & name = Beretta". Sie müssen stattdessen einen solchen Link haben und klicken Sie auf: http: // domain.com/pistole-marke/1/beretta. In der Tat sollte das Umschreiben der URL _internally_ diese Anfrage neu schreiben, damit Ihre Skripte sie verarbeiten können. Es ist also nicht nötig, die im Browser angezeigte URL zu "ändern", da sie bereits den "hübschen" Link anzeigt. – arkascha