Zur Navigation

Ausnahme für Subdomain bei 301 redirect

1 seppel (Gast)

Hallo liebes Forum,

ich bin ein absoluter Neuling was .htaccess angeht und habe ein Problem, welches ich nicht alleine lösen kann.

Meine .htaccess Datei (liegt im Rootverzeichnis der alten Domain) sieht folgendermaßen aus:


RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]

RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ https://www.neuedomain.de/neuer/inhalt [R=301,L]

Mit dem 1. Befehl möchte ich alle HTTP Anfragen auf HTTPS umleiten.
Mit dem 2. Befehl möchte ich alle Anfragen ohne "www" auf "www" umleiten.
Mit dem 3. Befehl möchte ich einen möglichen "/" am Ende entfernen.
Mit dem 4. Befehl möchte ich alle Anfragen, welche an die alte Domain gerichtet werden, automatisch auf eine neue Domain umleiten.

Soweit funktioniert auch erstmal alles...

Ich möchte jetzt aber beim 4. Befehl zwei Ausnahmen integrieren und zwar für 2 bestehende Subdomains der alten Domain, welche an eine andere Adresse umgeleitet werden sollen.

1) config.altedomain.de soll an https://www.altedomain.de/config
2) mail.altedomain.de soll an https://www.altedomain.de/mail

Alle anderen Anfragen sollen (wie im 4. Befehl) an die neue Domain weitergeleitet werden.

Kann mir jemand helfen?

26.05.2020 11:17

2 Jörg Kruse

Soweit funktioniert auch erstmal alles...

Was mich etwas wundert, denn hier fehlt ein Leerzeichen:

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

... oder ist ein Copy-Paste-Fehler?

Diese Bedingung scheint mir etwas überflüssig, denn sie trifft wohl immer zu:

RewriteCond %{REQUEST_URI} (.*)

1) config.altedomain.de soll an https://www.altedomain.de/config

Hat die Subdomain das gleiche Wurzelverzeichnis wie altedomain.de? dann musst du eine Bedingung auf den betreffenden Host (in diesem Fall die Subdomain) vorschalten:

RewriteCond %{HTTP_HOST} config\.altedomain\.de
RewriteRule ^(.*)$ https://www.altedomain.de/config/$1 [R=301,L]

... und dann zuerst die Subdomains und abschließend den Rest weiterleiten

26.05.2020 14:47 | geändert: 26.05.2020 14:49

3 seppel (Gast)

Super vielen DANK für die Hilfe :-)

26.05.2020 17:12

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]