Zur Navigation

dateien in uebergeordneten ordner umleiten

1 ringo

hallo ich möchte beim zugriff auf alle *.html dateien eines verzeichnisses
diese auf das übergeordnete verzeichniss per .htaccess umleiten.
das mach ich so ->

RedirectMatch permanent ^/mainordner/ /mainordner

das funktioniert auch prima!

mein problem ist dass auch alle unterordner betroffen sind.
also /mainordner/subordner/test.html wird auch auf /mainordner umgeleitet :(

ich moechte aber das ->
test.html nach /mainordner/subordner umgeleitet wird!
also meine regel so anpassen das sie nicht für unterordner gilt!

weisst du rat?
danke holger

27.08.2018 13:18 | geändert: 27.08.2018 13:18

2 Jörg Kruse

RedirectMatch permanent ^/mainordner/ /mainordner

Das führt nicht zu einer Endlosweiterleitung?

Den regulären Ausdruck kannst du so erweitern, dass nach dem zweiten Slash keine weiteren Slashes mehr folgen:

^/mainordner/[^/]+$

[^/]+ bedeutet ein oder mehrere Zeichen außer /

Somit sollten Unterverzeichnisse nicht mehr betroffen sein.

---

PS: deine E-Mail-Adresse im Forenaccount ist nicht mehr aktuell, deswegen kann das Forum Benachrichtigungen nicht zustellen.

27.08.2018 13:59 | geändert: 27.08.2018 14:02

3 ringo

hallo joerg,
erstmal vielen dank fuer die schnelle antwort.

fuer den mainordner passt das jetzt!!!
aber irgendwas funktioniert nicht beim aufruf von /mainordner/subordner/test.html.
habe das jetzt wie folgt ausprobiert. die weiterleitung landet leider auch wieder im mainordner!?

RedirectMatch permanent ^/mainordner/[^/]+$ /mainordner
RedirectMatch permanent ^/mainordner/subordner/[^/]+$ /mainordner/subordner

was mache ich falsch?
danke holger

27.08.2018 15:12

4 Jörg Kruse

Ich würde nach der Änderung einmal den Browser-Cache leeren, denn Browser laden permante Weiterleitungen gerne aus ihrem Cache.

27.08.2018 15:26

5 ringo

das habe ich gemacht! ich glaube dass 2+ weitergeleitet wird. erst in den subordner und dann nochmals in den mainordner, obwohl dass ja nicht sein duerfte!?

lg holger

27.08.2018 15:34

6 Jörg Kruse

ich glaube dass 2+ weitergeleitet wird. erst in den subordner und dann nochmals in den mainordner, obwohl dass ja nicht sein duerfte!?

Ja, doch, der Zielpfad /mainordner/subordner hat ja keinen Slash hinten und wird deswegen dann auch nochmal weitergeleitet

Du kannst die Weiterleitungen auf die Endung .html beschränken:

RedirectMatch permanent ^/mainordner/[^/]+\.html$ /mainordner
RedirectMatch permanent ^/mainordner/subordner/[^/]+\.html$ /mainordner/subordner

27.08.2018 15:44 | geändert: 27.08.2018 15:45

7 ringo

Hallo Jörg vielen Dank,
das funktioniert jetzt super!!!

Aber da taucht das naechste Problem auf. Ich hebele jetzt auch alle links aus, die ich eigentlich brauche.

Hintergrund ist eine Joomla Seite. Alle Links die über das Menu erzeugt werden will ich behalten.

Alle anderen links umleiten. Sie unterscheiden sich dadurch, dass die links die weitergeleitet werden sollen
immer 1-4 Ziffern vorneangestellt haben. (z.b. 234-test.html)

Ich muesste dann die Abfrage irgendwie so anpassen ->
wenn der link Ziffern beinhaltet +text(test) und eine .html endung dann...

#RedirectMatch permanent ^/mainordner/[:digit:]+[^]+\.html$ /mainordner
(klappt aber leider nicht!)

wie heisst es richtig?

du siehst ich tue mich schwer mit den regulaeren ausdrücken!
gibt es dafuer eine liste im internet?

danke

27.08.2018 16:55 | geändert: 27.08.2018 16:56

8 Jörg Kruse

Zahlen kann man mit [0-9]+ bezeichnen. Hinter dem zweiten ^ fehlte dann noch der Slash

RedirectMatch permanent ^/mainordner/[0-9]+[^/]+\.html$ /mainordner

27.08.2018 17:24 | geändert: 27.08.2018 17:26

9 ringo

danke jetzt klappt es!!!

27.08.2018 18:24

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]