Regeln für eine Community!

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Regeln für eine Community!

Beitragvon Synth » 10.01.2006 00:16

Hallo zusammen!

Ich bin heute etwas stolz auf mich, weil ich das blöde Modul endlich zum Laufen gebracht habe... ;)

So, nun such ich passende Regeln für mod_rewrite

Folgendes hab ich angestellt

/USERNAME ---> /index.php?module=profile&username=USERNAME
/USERNAME/Gaestebuch ---> /index.php?module=guestbook&username=USERNAME
/Forum -> /index.php?module=board

usw.. funktioniert auch soweit. Nun hab ich in einem Programmierstadium erkannt, dass ich mir so den ganzen Weg zu PHP-Dateien verbaut habe.. Alle Pfade werden ja zumindest als Username-Erkannt :(

Nun wünsch ich mir eine passende Regel, etwa so:

/php/pfad/[....]/datei.php ---> /pfad/[....]datei.php

Leider find ich nix :( Könnt Ihr mir weiterhelfen? ich verzweifel...

Hier meine aktuellen Regeln:

Code: Alles auswählen
RewriteRule ^([^/.]*(\/?))$ /index.php?module=profile&username=$1 [L]
RewriteRule ^(([^/.]*)/[G|g]aestebuch(\/?))$ /index.php?module=guestbook&user=$2 [L]

RewriteRule ^[F|f]orum[\/?](.*)$ /index.php?module=board&pid=$1 [L]
RewriteRule \/ /index.php [L]


Danke & Bye
Synth
.
.
 
Beiträge: 6
Registriert: 10.01.2006 00:10

Beitragvon Bob » 10.01.2006 00:24

in Zeichenklassen gibt es kein "Oder", Slashs müssen nicht escaped werden

Code: Alles auswählen
RewriteRule ^([^/.]+)/?$ /index.php?module=profile&username=$1 [L]
RewriteRule ^([^/.]+)/[Gg]aestebuch/?$ /index.php?module=guestbook&user=$1 [L]

RewriteRule ^[Ff]orum/?(.*)$ /index.php?module=board&pid=$1 [L]
RewriteRule ^$ /index.php [L]
# und jetzt sollen alle PHP-Dateien "hochgeschrieben oder runtergeschriegen werden?
# Nach deiner Beschreibung /php/pfad/[....]/datei.php ---> /pfad/[....]datei.php : hochschreiben
RewriteRule ^php/(.*) /$1 [L]

Alle Pfade werden ja zumindest als Username-Erkannt

Nein, in ihnen kommt kein Punkt vor, welcher ja über [^/.] ausgeschlossen wurde, sodass die Regel auf Dateien mit Dateiendung nicht passt.


Grüße
Robert
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon Synth » 10.01.2006 00:27

Wow ging ja schnell, dankeschön ;)

Ich hab das letzte übrigens ähnlich probiert... lag es vielleicht daran, dass ich ..(.*)$ geschrieben hab?
Synth
.
.
 
Beiträge: 6
Registriert: 10.01.2006 00:10

Beitragvon Bob » 10.01.2006 06:58

lag es vielleicht daran, dass ich ..(.*)$ geschrieben hab?

Eigentlich nicht, aber es kam schon einmal vor, dass es nur ohne diesem Ende-Anchor funktioniert hat.
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste