Problemstellung
Folgendes Problem ist via .htaccess zu lösen:
Zwei spezifischen Domains auf dem selben Server auf zwei spezifische Subfolder zu leiten.
Hintergrund
Zwei Frontends und ein Backend jeweils auf einer Ebene. Beide FE’s nutzen das selbe BE um Daten mit der DB auszutauschen.
Jedes Frontend soll für sich über eine eigene Domain/Subdomain erreichbar sein ohne direkt in den FE-Ordner zu linken da dann der Verweis auf das BE nicht funktioniert.
Der Pfad ../BE-Ordner würde bei einer direkten Domainweiterleitung ins Leere laufen, denn unter dem FE-Ordner mit der direkten Domainweiterleitung auf den spezifischen FE-Ordner es keinen tieferen Pfad geben kann.
Setting:
- www.domain-1.de
- www.domain-2.de
Beide Domains zeigen auf den ServerFolder:
- /serverfolder/
Die Frontends liegen demnach:
- /serverfolder/subfolder-domain-1-fe/
- /serverfolder/subfolder-domain-2-fe/
Das Backend liegt:
- /serverfolder/be/
Zieladressen wäre normal:
- www.domain-1.de/subfolder-domain-1-fe/
- www.domain-2.de/subfolder-domain-2-fe/
Ziel ist, schon mit der einfachen Eingabe:
- www.domain-1.de/ und
- www.domain-2.de/
in die richtigen Ordner weitergeleitet zu werden ohne die Verbindung aus dem FE zum BE zu kappen.
Nun gilt es die .htaccess so zu schreiben das folgenden Aufgabe gelöst wird:
- Wenn Domain-1 kommt dann in Unterordner weiterleiten aber nur wenn der Aufruf ohne den subfolder /subfolder-domain-1-fe/ kommt
- Bei Domain-2 der gleiche Fall
Problemlösung
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?domain-1\.de [NC] RewriteCond %{REQUEST_URI} !^/subfolder-domain-1-fe/.*$ RewriteRule ^(.*)$ /subfolder-domain-1-fe/ [R=301,L] RewriteCond %{HTTP_HOST} ^(www\.)?domain-2\.de [NC] RewriteCond %{REQUEST_URI} !^/subfolder-domain-2-fe/.*$ RewriteRule ^(.*)$ /subfolder-domain-2-fe/ [R=301,L]
Auf die Lösung bin ich über den Hinweis spezifische Domain weiterleiten gekommen