![]() |
[Apache, Mod Rewrite] Umschreiben -> umleiten -> umsch
Moin moin.
Es gibt zwar sicher geeignetere Foren, aber ich hoffe mal es gibt hier genug Leute, die mir meine Frage beantworten können :wink: . Also: Um bei einem Kalender den angezeigten Monat und das Jahr auswählen , hab ich folgendes Formular:
Code:
Damit die URLs aber "lesbarer" sind, will ich sie eigentlich umschreiben lassen und dann umleiten:
<form action="" method="get">
<select size="1" id="month" name="month"> <option label="Januar" value="1">Januar</option> <option label="Februar" value="2">Februar</option> ... </select> <select size="1" id="year" name="year"> <option label="2006" value="2006">2006</option> <option label="2007" value="2007">2007</option> ... </select> <input type="submit" value=">" /> </p> </form>
Code:
Das wird dann nochmal umgeschrieben:
RewriteRule ^Termine/\?month=([1|2|3]?[0-9])&year=([1-9][0-9][0-9][0-9])$ Termine/$2/$1/ [NC,R=303]
Code:
Passieren tut aber nach dem Klick auf den Submit-Button nix, die Adresse verändert sich nicht :gruebel: . Und es gibt auch keine Endlosschleife, was ich ja nachvollziehen könnte.
RewriteRule ^Termine/([1-9][0-9][0-9][0-9])/([1|2|3]?[0-9]/$ events/?year=$1&month=$2 [NC]
Meine Frage(n) also: Warum? Ist ein Fehler in den RewriteRules? Muss das & oder das = auch "escaped" werden? Kann man die Adresse so mit Parametern gar nicht umschreiben und umleiten lassen? Gibt es möglicherweise eine andere Lösung für mein Problem? MfG |
Re: [Apache, Mod Rewrite] Umschreiben -> umleiten -> u
Hallo Thorben :hi:
Könnte es daran liegen?
Code:
In action sollte schon was stehen, damit was passiert...
<form action="" method="get">
Ansonsten zeig mal mehr von deiner .htaccess... mfg Christian |
Re: [Apache, Mod Rewrite] Umschreiben -> umleiten -> u
Moin,
@r2c2: wenn in action nichts drin steht, wird die aktuelle URL verwendet. Besser ist es aber, eine URL anzugeben, da hast du Recht ;) @Thorben: wenn du es effektiv machen willst, dann lass es :P Du zwingst den Server hier in Extrarunden: Der Client schickt das Formular ab, der Server sieht die URL, schreibt sie um, schickt den 30x Redirect an den Client, da schickt der Browser die neue URL an den Server, der Server kriegt die, muss sie wieder umschreiben und dann verarbeiten. Da mod_rewrite in Verbindung mit .htaccess von Haus aus nicht die schnellste/optimierteste/resourcenschonende Methode ist, URLs umzuschreiben, solltest du auf den ersten Schritt verzichten. Setz doch method von deinem Form auf post, dann sieht der Benutzer gar nichts; im Header stellst du dann die umgeschriebene URL rein, damit der Benutzer diese URL auch weitergeben kann. Greetz alcaeus |
Re: [Apache, Mod Rewrite] Umschreiben -> umleiten -> u
Hey :hi: ,
erstmal danke Euch beiden. Zitat:
Zitat:
MfG |
Re: [Apache, Mod Rewrite] Umschreiben -> umleiten -> u
Naja, mach nen POST anstatt GET, und deine URLs sind schoener, weil dann nur noch das drinsteht, was im action-feld drinsteht :)
Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz