Seite 1 von 1
Mehere Variablen mit mod_rewrite umwandeln
Verfasst: 30.09.2007, 19:40
von w3news
Hallo,
ich wollte folgende Datei per mod_rewrite umwandeln:
/archiv_monat.php?monat=September&jahr=2007
in diese:
/archiv_monat_September_jahr_2007.html
und zwar so:
Code: Alles auswählen
RewriteRule ^monat_(.*)_jahr_(.*).html$ archiv_monat.php?monat=$1&jahr=$2
Geht aber leider nicht, hat jemand einen Vorschlag?
Verfasst: 30.09.2007, 19:51
von chris21
Erstmal:
Du wolltest vermutlich archiv_monat_September_jahr_2007.html in den anderen Dateinamen umwandeln, nicht umgekehrt...
Dann:
(.*) würde auch _jahr etc. beinhalten, daher kommst Du damit nicht weiter.
Ergo:
Code: Alles auswählen
RewriteRule ^monat_([A-Za-z]+)_jahr_([0-9]+).html$ archiv_monat.php?monat=$1&jahr=$2
Verfasst: 30.09.2007, 20:28
von w3news
also danke für die schnelle antwort, aber das will nicht. habe auch versucht einiges zu verändern, geht aber nicht. gibt es noch ne andere idee oder weiß jemand woran es liegen kann?
PS.: Muss der Apache immer wieder neu gestartet werden, wenn ich die .htaccess ändere oder sind die Änderung gleich aktiv?
Verfasst: 30.09.2007, 22:23
von chris21
Ok, nochmal zum Verständnis:
Du willst, dass archiv_monat_September_jahr_2007.html da steht, obwohl der Inhalt von archiv_monat.php?monat=September&jahr=2007 ausgeliefert wird.
Dann würde meine obige RewriteRule bewirken, dass bei Aufruf der (nicht existenten) html Datei der Inhalt der php Datei erscheint.
PS: Apache muss Du nicht neu starten.
Verfasst: 01.10.2007, 03:01
von To-Bi-As
@Chris21.
Nein, das würde Deine Funktion auch nicht machen.
Denn wenn
umgewandelt werden soll, dann sollte das auch in der htaccess so stehen und nicht nur
da fehlt das "archiv_" am Anfang.
@w3news
Was kommt denn für ein Fehler? Ein 404er oder ein 5xx oder sonstwas?
Gruß, Ingo
Verfasst: 01.10.2007, 11:55
von chris21
@To-Bi-As:
stimmt auch wieder: manchmal sollte man eben ganz genau lesen, dann entdeckt man auch die einfachen Fehler.

Verfasst: 09.10.2007, 17:43
von w3news
Danke Euch jetzt habe ich es hinbekommen mit:
Code: Alles auswählen
RewriteRule ^monat_([A-Za-z]+)_jahr_([0-9]+).html$ archiv_monat.php?monat=$1&jahr=$2