Zur Navigation

Weiterleitung für nur einen Fall isolieren

1 Jana

Hallo Jörg,
ich bins mal wieder.
Es wird an einer Stelle ein Link angeboten, der aussagekräftiger, also kürzer ist, als der bestehende.
Also statt
www.domain.de/verzeichnis1/verzeichnis2
den hier
www.domain.de/verzeichnis2

Da es
www.domain.de/verzeichnis2
aber nicht gibt, baue ich diese Weiterleitung ein:
Redirect 301 /verzeichnis2 www.domain.de/verzeichnis1/verzeichnis2

Das führt aber dazu, dass z.B.
www.domain.de/verzeichnis2/verzeichnis3
zu
www.domain.de/verzeichnis1/verzeichnis2/verzeichnis3
wird.

Heißt, überall wo
verzeichnis2
auftaucht, wird es zu
verzeichnis1/verzeichnis2
.

Jetzt meine Frage: Kann man die o.g. Weiterleitung
Redirect 301 /verzeichnis2 www.domain.de/verzeichnis1/verzeichnis2
so isolieren, dass sie nur in diesem Fall weiterleitet und nicht bei allen Strings, in denen verzeichnis2 auftaucht?

Danke und LG
Jana

08.10.2018 18:49

2 Jörg Kruse

Mit mod_rewrite:

RewriteEngine on
RewriteRule ^/?verzeichnis2$ https://example.com/verzeichnis1/verzeichnis2 [R=301,L]

Der Delimiter $ begrenzt den Pfad /verzeichnis2 vom Ende her. Wenn weitere Zeichen folgen, schlägt die Rule nicht an.

08.10.2018 19:40

3 Jana

Super, danke!
Und warum
^/?verzeichnis2$
und nicht
^verzeichnis2$
LG
Jana

08.10.2018 20:03

4 Jörg Kruse

^/? ist portabel und funktioniert sowohl in .htaccess Dateien als auch in der VHost-Konfiguration, wo die Pfade mit dem Slash beginnen. In der .htaccess kannst du das /? aber weglassen.

08.10.2018 20:24 | geändert: 08.10.2018 20:25

5 Jana

Super, vielen Dank und LG
Jana

08.10.2018 21:08

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]