Seite 1 von 1

mehr und mehr $GET :(

Verfasst: 24.11.2009 12:59
von do1emu
hallo,

folgendes Szenario:

URL 1: .../index.php?mod=news&action=view&id=3

wird umgewandelt in

URL 2: .../news/view/news-3.php (das news im php-Dateinamen wird durch den Newstitel ersetzt. Laut der .htaccess ist es schnuppe was da nun steht :D)

Code: Alles auswählen

RewriteRule ^([^/]*)/([^/]*)/.+-([-0-9a-z]*).php$ debug.php?mod=$1&action=$2&id=$3
Funktinoniert super...

Jetzt kommts dicke :D

URL 3: .../index.php?mod=news&action=list&sort=3
URL 4 .../index.php?mod=news&action=list&id=0&sort=3 (3 und 4 zeigen beide das gleiche an)

ich will nun, dass die url im Browser so aussieht:

URL 5: .../news/view/list-0.php?sort=3

Ich sag mal sortierungs-urls sind sinnlos und müssen nicht sprechend sein. Wenn ich nun URL 5 in den browser eingebe welche anpassungen muss ich an der Zeile im htaccess vornehmen?? Habe es hiermit versucht:

Code: Alles auswählen

RewriteRule ^([^/]*)/([^/]*)/.+-([-0-9a-z]*).php([^/]*)$ debug.php?mod=$1&action=$2&id=$3$4
klappt aber nicht... Könnt ihr mir irgendwie weiterhelfen?

Danke

Verfasst: 24.11.2009 13:15
von do1emu
naja einen Denkfehler habe ich schonmal gefunden :D wenn ich "([^/]*)" nach dem "php" schreibe, dann hängt er am ende auch genu den String dran, spich in dem Falle ein "?sort=3" aber da ja schon GETs existieren darf das ? nicht mit übergeben werden, also folgendes versucht:


Code: Alles auswählen

RewriteRule ^([^/]*)/([^/]*)/.+-([-0-9a-z]*).php?([^/]*)$ debug.php?mod=$1&action=$2&id=$3&$4
geht aber auch nicht

Verfasst: 24.11.2009 13:48
von do1emu
ok, habe mir nun anders weitergeholfen :D

Code: Alles auswählen

RewriteRule ^([^/]*)/([^/]*)/.+-([-0-9a-z]*).php$ debug.php?mod=$1&action=$2&id=$3&sort=$3
jetzt kann man folgendes aufrufen:

.../news/list/news-0.html <- keine sortierung
.../news/list/news-1.html <- 1. sortierung
.../news/list/news-2.html <- 2. sortierung
.../news/list/news-3.html <- 3. sortierung

Die Url die jetzt aufgerufen wird ist zwar: .../index.php?mod=news&action=list&id=1&sort=1

Wenn ich eine Liste aufrufe, dann kann man den Wert in der ID ignorieren und wenn ich ein View aufrufe, dann kann man den Wert im "sort" ignorieren, desshalb kann ich das so lösen :D Dreckig aber geht :D