Frank Schönmann: RewriteEngine on dupliziert Verweise

Beitrag lesen

hi!

RewriteCond %{REQUEST_URI} start/(.*)$
RewriteRule start/(.*)$ /start.php?vari=$1
nun läuft das zwar, allerdings nur beim ersten aufruf, danach sind
sämtlich Verweise dupliziert,

Das liegt nicht an mod_rewrite, sondern an deinem Browser. Vermutlich
gibst du immer nur relative URLs an, und keine absoluten. Zum Bei-
spiel ruft jemand die folgende Seite auf:

/start/

Also die Startseite. Darauf ist ein Link auf "test/". Der Browser
weiß, dass er auf der Seite "/start/" ist und hängt den relativen
Link dahinter, weil er beim Server sowieso nur absolute URLs abfragen
kann. Dann ruft er also folgende Seite auf, wenn du den Link
anklickst:

/start/test/

Wegen des abschließenden Slashs denkt der Browser wieder, dass du
dich in einer neuen Verzeichnisebene befindest. Wenn da jetzt ein
Link zb. auf "info/" ist, dann hängt er den Link hinten an, um wieder
eine absolute URL zu bilden:

/start/test/info/

Und so weiter...

Das Problem ist hoffentlich klar geworden: du kannst mit dieser
mod_rewrite-Methode in den meisten Fällen keine relativen URLs
verwenden, da du zwar immer vom Root-Verzeichnis aus verlinkst, der
Browser sich aus seiner Sicht aber nicht in diesem Verzeichnis
befindet.

Ich hatte vor einiger Zeit das gleiche Problem und als Lösung dafür
einfach alles absolut verlinkt.

bye, Frank!