Zur Navigation

Unterverzeichnis weiterleiten abhängig von Teilstring

1 Jana

Hallo Jörg!
Ich komm einfach nicht drauf:
ALT:
www.domain.de/verzeichnis1/hotel_1
www.domain.de/verzeichnis1/hotel_2
etc.
NEU:
www.domain.de/verzeichnis2/hotel_1
www.domain.de/verzeichnis2/hotel_2
etc.

Wenn aber steht:
www.domain.de/verzeichnis1/auto_1
www.domain.de/verzeichnis1/bus_2
etc., dann keine Weiterleitung.

Der bisherige Ansatz
RewriteRule ^verzeichnis1/hotel.+ /verzeichnis2/hotel.+ [L,R=301]
funktioniert soweit bis auf das Ziel.
Dort sollen die jeweiligen vorhandenen Teilstrings nach dem ausgetauschten Verzeichnis 1:1 übernommen werden. Leider steht da immer nur "hotel.+".

Hast du da eine Idee?
Vielen lieben Dank im voraus
Jana

24.08.2018 23:46

2 Jörg Kruse

hotel_1, hotel_2 etc. können durch das Muster "hotel_[0-9]+" erfasst werden. Wenn der Ausdruck in Klammern gesetzt wird, kann er in der Ziel-URL durch ein $1 wieder aufgenommen werden:

RewriteRule ^verzeichnis1/(hotel_[0-9]+)$ https://example.com/verzeichnis2/$1 [L,R=301]

25.08.2018 07:43 | geändert: 25.08.2018 07:44

3 Jana

Guten Morgen Jörg!

Erst einmal herzlichen Dank für deine schnelle Hilfe.

Das war ungeschickt von mir, die Beispiele "hotel1", "hotel2" zu nennen. Die Zahlen sollten nur die Unterschiedlichkeit darstellen. In real sieht das eher so aus: "hotel-laut", "hotel-staubig", "hotel-edel-aber-zu-teuer" usw.
Also keine Zahlen, sondern Buchstaben.

Wäre das dann [a-z] statt [0-9]?
Also:
RewriteRule ^verzeichnis1/(hotel_[a-z]+)$ https://example.com/verzeichnis2/$1 [L,R=301]

Danke und LG
Jana

25.08.2018 09:21

4 Jörg Kruse

Wenn nur Kleinbuchstaben enthalten sind, ja. Die Beispiele beinhalten allerdings auch noch Bindestriche, also [a-z-]; und falls auch Zahlen enthalten sein können, wie z.B. in hotel-6-sterne, dann [a-z0-9-]

Und wenn nach hotel statt "_" ein "-" folgt, entsprechend:

(hotel-[a-z0-9-]+)

25.08.2018 09:31

5 Jana

Super!
Das funktioniert auch wenn der String keine Zahlen enthält, oder?
LG
Jana

25.08.2018 10:29

6 Jörg Kruse

Der String darf Zeichen der genannten Auswahl enthalten, muss es aber nicht. Es muss auch kein a oder z enthalten sein :).

25.08.2018 11:23

1 Forenmitglied fand diesen Beitrag gut

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]