mehr und mehr $GET :(

Eines der wichtigsten Anwendungsgebiete von mod_rewrite ist das umschreiben von dynamischen in statische URLs um "suchmaschinenfreundliche URLs" zu erzeugen. Aber was ist besser fürs Ranking? http://www.url.com/12_2.htm, http://www.url.com/url,12,2.htm oder doch lieber http://www.url.com/12/2/url/ Fragen zum URL-Design werden hier diskutiert.

Moderator: Super-Mod

mehr und mehr $GET :(

Beitragvon do1emu » 24.11.2009 12:59

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
do1emu
.
.
 
Beiträge: 8
Registriert: 05.09.2008 13:53

Beitragvon do1emu » 24.11.2009 13:15

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
do1emu
.
.
 
Beiträge: 8
Registriert: 05.09.2008 13:53

Beitragvon do1emu » 24.11.2009 13:48

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
do1emu
.
.
 
Beiträge: 8
Registriert: 05.09.2008 13:53


Zurück zu URL-Design

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron