Zur Navigation

.htaccess alle domains umleiten außer einen subordner

1 Lukas (Gast)

Hi,
ich möchte von meiner Domain
-(1) domain.de jede Anfrage auf domain.de/ordner1 weiterleiten
-(2) außer domain.de/spezial soll auf domain.de/ordner2 umgeleitet werden (speziel und order2 haben explizit andere namen)
-(3) Außerdem soll jede Anfrage auf https:// umgeleitet werden.

(1) und (2) habe ich bereits hinbekommen. (3) nicht.

hier meine .htaccess bisher:

# https umleitung
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.domain.de%{REQUEST_URI} [R=301,L]

# alle nach ordner 1
RewriteCond %{HTTP_HOST} !^\domain\.de/ [NC]
RewriteRule ^(.*)$ http://\domain\.de/ordner1 [R=301,L]

07.02.2022 10:56

2 Jörg Kruse

RewriteCond %{HTTP_HOST} !^\domain\.de/ [NC]

Der Backslash vor dem d ist überflüssig.

RewriteRule ^(.*)$ http://\domain\.de/ordner1 [R=301,L]

Hier gilt das gleiche. Außerdem ist das Weiterleitungziel kein regulärer Ausdruck, dort ist also auch der Backslash vor dem Punkt fehl am Platz.

Und warum leitest du hier auf http:// weiter? das widerspricht deiner Anforderung (3)

07.02.2022 11:32

3 Lukas (Gast)

Danke für die beiden Tips.

Ich hatte mich oben verschrieben:
(1) und (3) habe ich nun geschafft, (2) jedoch noch nicht. Wie würde ich das machen?

07.02.2022 13:15

4 Jörg Kruse

Du kannst für die allgemeine Weiterleitung nach /ordner1 eine Ausnahmebedingung für das URL-Verzeichnis /spezial definieren. Außerdem sollten auch die URL-Verzeichnisse /ordner1 und /ordner2 von der Weiterleitung ausgenommen werden, damit es nicht zu einer Endlosweiterleitung kommt.

RewriteCond %{REQUEST_URI} !^/spezial
RewriteCond %{REQUEST_URI} !^/ordner1
RewriteCond %{REQUEST_URI} !^/ordner2
RewriteRule ^ https://example.com/ordner1 [R=301,L]

... wobei man dies auch noch kürzer zusammenfassen kann:

RewriteCond %{REQUEST_URI} !^/(spezial|ordner1|ordner2)
RewriteRule ^ https://example.com/ordner1 [R=301,L]

Danach kannst du example.com/spezial weiterleiten:

RewriteRule ^spezial https://example.com/ordner2 [R=301,L]

07.02.2022 15:13 | geändert: 07.02.2022 15:16

5 Lukas (Gast)

vielen Dank, genau was ich erreichen wollte :)

07.02.2022 16:20

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]