• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

mod_rewrite mit anchor

petz_e

New member
Hi,

mod_rewrite die Zweite.

Ich leite eine URL in eine reale URL um, und möchte dabei aber nicht nur die Seite laden, sondern auch auf eine mit einem anchor angegebene Position springen.
Code:
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})$ /viewImage.php?order=$1&image=$2#image [NE,R]
Die einzige Möglichkeit die ich gefunden habe ist ein Redirect-Flag hinzuzufügen. Damit sieht der Benutzer allerdings wieder die reale URL, was ich vermeiden möchte. Ich weiss dass Anchors ganz auf Client-Seite behandelt werden, und nicht über den Server laufen, aber gibt es keine andere Lösung?
 
Zuletzt bearbeitet:
Code:
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})$ $0/#image [R]
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})$ /viewImage.php?order=$1&image=$2 [NE]
sollte gehen aber nicht getestet
 
Code:
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})$ $0/#image [R]
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})$ /viewImage.php?order=$1&image=$2 [NE]
sollte gehen aber nicht getestet
Ich bin mir nicht sicher ob ich die erste Zeile verstehe. Damit bewirkt man ja dass eine URL z.B.: portfolio/public/2758 in portfolio/public/2758#image umgeschrieben wird. Eine solche Datei gibt es natürlich nicht auf dem Server. Soll die zweite Zeile sich um diese 'mapping' kümmern? Ich habe versucht diese in
Code:
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})#image$ /viewImage.php?order=$1&image=$2 [NE]
umzuändern, allerdings geht das auch nicht.
 
Eigentlich eine dumme Idee weil es in einer Endlosschleife enden würde - warum verlinkst du nicht gleich den Anker mit?
 
Eigentlich eine dumme Idee weil es in einer Endlosschleife enden würde - warum verlinkst du nicht gleich den Anker mit?
Der Anker funktionier nur wenn ich dat [R] drinlasse. Lasse ich das Redirect-Flag weg, wird der Anker ignoriert. Wenn ich aber das Redirect per Flag mache, wird der Benutzer die Reale URL mitsamt den Parametern sehen, und genau das will ich ja nicht. Also muss ich das Redirect weglassen und dann funktioniert der Anker nicht mehr.
 
Warum versuchst du überhaupt dass man umgeleitet wird? Schreib doch einfach in den Link dorthin #image dann musst du am Server nichts ändern!
 
Willst du mich verarschen? Ließt du überhaupt was ich da schreibe?
Code:
<a href="deinedummeseite">Link</a>
->
<a href="deinedummeseite#anker">Link</a>
Wozu musst du am Server was ändern?
 
Willst du mich verarschen? Ließt du überhaupt was ich da schreibe?
Code:
<a href="deinedummeseite">Link</a>
->
<a href="deinedummeseite#anker">Link</a>
Wozu musst du am Server was ändern?
Ich benutze das mod_rewrite-Dings nur damit der Benutzer nicht eine endlose URL mit _GET parameter präsentiert bekommt. Soweit so gut, nur dass der Anker dabei abhanden kommt.
 
Zuletzt bearbeitet:
Code:
RewriteRule ^portfolio/([a-zA-Z]+)/([0-9]{4})$ /viewImage.php?order=$1&image=$2[NE]
Code:
<a href="portfolio/keineahnung/4242#image">link</a>
Das sollte Funktionieren da der Anker eigentlich nicht an den Server übermittelt wird und das auch egal ist denn die url beim Client ja die gleiche bleibt. Du solltest dir echt mal durchlesen was Anker sind!
 
Arrgh! Wie kann ich nur so auf der Leitung stehen. Tut mir leid und danke für die Mühe die du dir gemacht hast.
 
Zurück
Oben