Mit der Direktive
Redirect
kann ein Seitenzugriff auf eine andere Seite umgeleitet werden. Die
Umleitung schließt alle Subpfade ein, also Seiten mit gleichem
Pfadanfang.
Möchte man ein Directory auf ein Subdirectory umleiten, klappt es
mit Redirect nicht, da dies zu einer Endlos-Rekursion führt.
Die Redirect-Regel
führt bei Aufruf von /a zu der endlosen Kette von HTTP-Aufrufen
/a
/a/b
/a/b/b
/a/b/b/b
...
bis der Browser dies erkennt und mit einer Meldung wie
Redirect Loop: Redirection limit for this URL exceeded.
abbricht.
Die Lösung liefert die (leistungsfähigere) Direktive
RedirectMatch. Mit dieser lässt sich der umzulenkende
Pfad per Regex präzise eingrenzen:
Das Dollarzeichen verankert den Pfad /a am Ende des URL,
so dass Subpfade nicht mehr matchen und die Rekursion unterbleibt.
Da durch die Regel keine Subpfade weitergeleitet werden,
müssen die Zugriffe innerhalb von /a/b relativ sein.
Ist das Ausgangsdirectory das Root-Directory, muss
auch der Anfang verankert werden, da jedes Verzeichnis
auf / endet: