Zur Navigation

Weiterleitung per .htaccess [2]

11 Jörg Kruse

wenn ich folgendes in die htaccess schreibe:

RewriteRule ^asien/$ http://www.domain.tdl/mensch_12.html [R=301,L]

Zeigt der Browser die Adresse http://www.domain.tdl/mensch_12.html an.

Ja, das Flag R=301 bedeutet, dass der Browser weitergeleitet wird auf die angegebene URL.

Ich will aber, dass der Browser, dann die Adresse http://www.domain.tld/asien anzeigt

Ist das irgendwie machbar?

Das sollte mit dem in Beitrag 9 aufgeführten Code möglich sein - hat dieser nicht funktioniert?

26.12.2006 23:51

12 Damir (Gast)

Wenn ich den Code aus dem Beitrag 9 verwende:

RewriteBase /
RewriteRule ^asien/$ mensch_12.html

funktioniert es gar nicht... ich erhalte einen 404 error.

wenn ich noch ein [L] dranhänge, dann wird zwar der Text der Seite angezeigt, aber alle dazugehörigen grafischen Elemente und auch die css-Datei werden versucht aus dem asien-Ordner zu bekommen.

Es ist zum verzweifeln.

27.12.2006 00:41

13 Jörg Kruse

Wenn ich den Code aus dem Beitrag 9 verwende:

RewriteBase /
RewriteRule ^asien/$ mensch_12.html

funktioniert es gar nicht... ich erhalte einen 404 error.

Das heißt, der Server findet die Datei nicht. In diesem Fall wohl, weil unerwünschterweise eine weitere Rule ausgeführt wird - was man mit dem Flag [L] verhindern kann:

wenn ich noch ein [L] dranhänge, dann wird zwar der Text der Seite angezeigt, aber alle dazugehörigen grafischen Elemente und auch die css-Datei werden versucht aus dem asien-Ordner zu bekommen.

Das ist aber ja logisch: die Adresse /asien/ soll für den Browser ja erhalten bleiben, folglicherweise bezieht er die Pfade aber auch auf diesen (virtuellen) Ordner un fordert Bilder, Stylesheets etc. unter den entsprechenden URLs an. Wenn du möchtest, dass der Browser die Seite unter dieser URL erhält, musst du die darin enthaltenen Pfade von Bildern, Links, Styles etc. auch entsprechend anpassen

Oder du lässt den abschließenden Slash weg:

RewriteBase /
RewriteRule ^asien$ mensch_12.html [L]

Dann erhält der Browser die Seite unter der URL http://www.domain.tld/asien und du musst nichts anpassen

27.12.2006 00:53 | geändert: 27.12.2006 00:55

14 Damir (Gast)

Hallo Jörg,
ich habe gedacht, dass es eine Möglichkeit gibt, dass ich die Pfade nicht umändern muss, aber anscheinend wird mir nichts Anderes übrig bleiben.

Ich danke Dir für Deine Hilfe.

Gruss,
Damir.

27.12.2006 01:02

15 Type-Style (Gast)

Schonmal an PHP gedacht?
Da wäre das doch einfach oder?


Einfach über Get den Parameter auslesen und dann header location auf die HTML + den Parameter weiter leiten?

26.02.2009 16:18

16 Jörg Kruse

Er wollte ja nicht weiterleiten, sondern den Inhalt einer anderen URL anzeigen lassen, ohne dass sich die URL ändert. Das hat ja auch funktioniert - nur stimmen dann halt die Pfade zu CSS-Dateien und Bildern (logischerweise) nicht mehr, so dass er diese noch anpaasen musste.

26.02.2009 16:25

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]