Zur Navigation

.htacces, Url manipulation

1 kuno

Moin Gemeinde ;-)

hab mit mehrstündiger Suche leider kein Ergebniss für mein Problem gefunden und hab erstmal zurückgebaut auf Funktionsfähigkeit.
Ich wollt meine Urls per .htacces ein bisschen freundlicher gestalten. Klappt auch:

RewriteRule ^Kategorie\.html$ /?Parameter=$1 [L]

Klappt auch alles wunderbar. Auf der verlinkten Seiten Seite ist ein Suchfeld.
Wenn ich da was eingeb kommt:
Kategorie.html\?Query u.s.w. ( die Parameter...)

so findet der natürlich nichts :-)

Ohne Kategorie.html alles o.k.

Wie bekomme ich das Kategorie.html weg, das da nur die Parameter dastehn? Dann funzt es ;-)

Danke für Hilfe
Grüße

06.11.2019 20:05

2 Jörg Kruse

RewriteRule ^Kategorie\.html$ /?Parameter=$1 [L]

Worauf bezieht sich die $1 hier?

Wie bekomme ich das Kategorie.html weg, das da nur die Parameter dastehn? Dann funzt es ;-)

Was ist denn die Ziel-URL des Suchformulars? wenn kein action Attribut angegeben ist, sendet das Formular auf die gleiche URL ab, in diesem Fall Kategorie.html. So sendet das Formular auf das Wurzelverzeichnis ab:

<form action="/">

06.11.2019 20:21

3 kuno

Worauf sich das $1 bezieht ehrlich gesagt, keine Ahnung.
Ich hab einfach mal drauf los gebastelt ;-)
Ich habe einfach die Ursprungsversion gepostet um keine Irrtümer entstehen zu lassen.

Die ZielUrl des Suchfeldes sind nur die Parameter ausschlaggebend.
Meine HTML Version nicht.

Ich hab mir einen Link gebastelt mit vorher Variablen drin (html), diese führt auf eine Seite mit einem Suchfeld. Wenn ich in diesem Suchfeld einen Begriff eingebe, steht in der Browserzeile:

Kategorie.html\?Query u.s.w. ( die Parameter...)
mit:
\?Query u.s.w. ( die Parameter...) funkioniert alles.

Wie bekomme ich das Kategorie.html\ ( was ich selbst gebastelt hab) aus der Browserzeile raus?

Danke für vorherige schnelle Anwort
Grüße
Steffen

06.11.2019 21:40

4 Jörg Kruse

Worauf sich das $1 bezieht ehrlich gesagt, keine Ahnung.

Eine Variable $1 bezieht sich immer auf den ersten geklammerten Ausdruck, wie z.B. "(.*)", dieser fehlt aber in dem von dir geposteten Code. Deswegen ist die Variable $1 leer, d.h. du schreibst die URL https://example.com/Kategorie.html intern um auf https://example.com/?Parameter= . Das scheint mir nicht besonders sinnvoll.

Kategorie.html\?Query u.s.w. ( die Parameter...)
mit:
\?Query u.s.w. ( die Parameter...) funkioniert alles.

Steht da wirklich ein "\" oder ein "/" vor dem "?"

Wie bekomme ich das Kategorie.html\ ( was ich selbst gebastelt hab) aus der Browserzeile raus?

Wie ich bereits oben geschrieben habe. Ein Suchfeld <input type="search> oder <input type="text"> sollte innnerhalb eines <form> Elements stehen. Dort musst du das action Attribut einfügen bzw. anpassen, damit die Suchanfrage nicht zur Seite https://example.com/Kategorie.html geht, sondern zur Seite https://example.com/

07.11.2019 09:55 | geändert: 07.11.2019 09:56

5 kuno

Danke Jörg :-),
auf sowas muss man erstmal kommen....

Lösung:
im Formfeld:
action='$search_string'
in
action='/$search_string' ändern, dann passt.

Grüße
Steffen

07.11.2019 15:46

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]