mod_rewrite

mgk89

Grünschnabel
Hallo,

habe begonnen mich mit mod_rewrite zu beschäftigen, aber hänge momentan bei meinem vorhaben:

Ich möchte gerne, dass "simulierte" Ordner im Format meineseite.com/photos/NAME_DES_FOTOALBUMS "weitergeleitet" werden auf meineseite.com/content/gallery/index.php?gallery=NAME_DES_FOTOALBUMS

Kann mir jemand HIlfestellung geben wie das zu lösen ist?

herzlichen Dank für eure Antwort!

LG
Max
 
Ausgehend davon, dass die HTACCESS-Datei im Wurzelverzeichnis Deiner Webseite liegt, sollte der Eintrag wie folgt aussehen:
Code:
RewriteEngine On
RewriteRule photos/(.+)$ content/gallery/index.php?gallery=$1 [QSA,L]
 
hi,

danke für deine Antwort! soweit funktioniert das, nun aber doch noch ein paar fragen:

kann ich in meinem Wurzelverzeichnis mehrere htaccess Dateien haben? Ich haben nämlich auch eine für einen Passwortschutz.


Das Problem das jetzt bei der Umleitung aufgetaucht ist ist, dass nun die relativen Pfade, die in der index.php angegeben sind nicht mehr funktionieren.

Siehe das Beispiel:

1.) so sieht die "original Seite" aus: http://www.maxk.at/php4/swipe/swipe/index.php?gallery=1001-BURGER

2.) mit Umleitung: http://www.maxk.at/photos/1001-BURGER da die relativen pfade nicht mehr stimmen.


Und eine dritte Frage noch:

wie leite ich um von www.maxk.at/photos/GALLERYVARIABLE/edit auf www.maxk.at/index.php?edit=GALLERYVARIABLE
bzw, von www.maxk.at/photos/GALLERYVARIABLE/delete auf www.maxk.at/index.php?delete=GALLERYVARIABLE
etc.

Danke vielmals für deine Zeit und Hilfe!!!
 
Hi

die Sache mit den relativen Pfaden: Funktionieren die Links jetzt nicht mehr
oder meinst du, dass nur nicht die richtige Art von Adressen angezeigt werden?

Und mehrere htaccess-Dateien im selben Wurzelverzeichnis geht nicht, aber du kannst
den Inhalt beider einfach untereinander in eine Datei schreiben.
 
Code:
RewriteEngine On
RewriteRule ^(.*)/edit$   index.php?edit=$1 [L,QSA]
RewriteRule ^(.*)/delete$ index.php?delete=$1 [L,QSA]
 
hi,

danke für deine Antwort!

Wenn ich deine Zeilen einfüge, bekomme ich immer einen 500er Fehler.

Code:
RewriteEngine On
RewriteRule photos/(.+)$ php4/swipe/swipe/index.php?gallery=$1 [QSA,L]

funktioniert gut!
allerdings bekomme ich eine Fehlermeldung wenn nur photos/ angewählt wird. Gibt es eine Möglichkeit da umzuleiten, falls kein Wert nach photos/ kommt?

jetzt brauche ich noch für

photos/ALBUMNAME/edit die Weiterleitung nach php4/index.php?edit=ALBUMNAME bzw.
photos/ALBUMNAME/delete die Weiterleitung nach php4/index.php?delete=ALBUMNAME

vielen herzlichen Dank!!!

LG
 
Der Fehler dürfte nicht durch die Regeln entstehen, die ich definiert habe. Da muss irgendwo anders etwas nicht stimmen.
 
hi,
danke für deine Antwort!

also momentan habe ich
Code:
RewriteEngine On
RewriteRule photos/(.+)$ php4/swipe/swipe/index.php?gallery=$1 [QSA,L]
RewriteRule ^(.*)/edit$   php4/index.php?f=$ [L,QSA]

wie gesagt, erster Teil funktioniert.

wenn ich allerdings photos/ALBUM/edit anwähle, lande ich bei php4/swipe/swipe/index.php?gallery=ALBUM/edit und nicht bei php4/index.php?f=ALBUM

also liegt vl der "Fehler" bei der ersten Regel?
danke!!!
 
Das kann auch nicht funktionieren, da beide Regeln auf das entsprechende Muster passen, jedoch die erste Regel auch zuerst geprüft wird – und passt. Es wird also diese genutzt anstatt der zweiten. Wenn Du die Reihenfolge der Regeln tauchst, sollte es funktionieren.
 
super, danke - so klappt's jetzt wie gewünscht:

Code:
RewriteEngine On
RewriteRule photos/(.*)/edit$   php4/index.php?f=$1 [L,QSA]
RewriteRule photos/(.+)$ php4/swipe/swipe/index.php?gallery=$1 [QSA,L]
RewriteRule photos/$ php4/galleries.php

hast du zufällig eine deutschsprachige Quelle, wo man sich bisschen mit mod_rewrite beschäftigen kann?
danke für deine Hilfe!!!
 
Zurück