Seite 1 von 1

2 Domains getrennt auf einem Webhost ansteuern!

Verfasst: 19.08.2010 11:54
von stare
Hallo!

Ich hoffe, das mir jemand bei meiner Problemstellung helfen kann.

Ich besitze 2 Domainnamen und habe am Webserver folgende Dateistruktur angelegt:
  • - \root
    • - \Domain-A
      • - \MainSiteA
        - \DirectoryA-1
        - \DirectoryA-2
        - ...
        - \404
    • - \Domain-B
      • - \MainSiteB
        - \DirectoryB-1
        - \DirectoryB-2
        - ...
        - \404

Dieses Verhalten würde ich gerne realisieren:
- Ruft ein Benutzer die Domain http://www.Domain-A.com oder http://www.Domain-A.com/MainSiteA auf, soll er die Website im Verzeichnis MainSiteA sehen. (Im Browser dteht immer nur: http://www.Domain-A.com)
- Ruft er hingegen http://www.Domain-A.com/DirectoryA-1 soll er die Website im Verzeichnis DirectoryA-1 sehen.
- Ruft es http://www.Domain-A.com/??? und es gibt diesen Ordner nicht soll er die Fehlerseite aus Verzeichnis \\root\Domain-A\404 sehen.

Analog soll es für die Domain http://www.Domain-B.com funktionieren!

Nicht funktionieren soll das eine Website über http://www.Domain-A.com/DirectoryA-1 und http://www.Domain-B.com/DirectoryA-1 erreicht werden kann!

Für Lösungsansätze und Denkanstösse wäre dankbar!

Re: 2 Domains getrennt auf einem Webhost ansteuern!

Verfasst: 06.09.2010 15:43
von Gumbo
Probier mal folgende Regeln:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} [^/.]+\.[^/.]+$
RewriteCond %{DOCUMENT_ROOT}/%0 -d
RewriteCond $1/%0 ^([^/]+)/\1$
RewriteRule ^([^/.]+\.[^/.]+)(/(.*)|$) /$3 [L,R=301]

RewriteCond %{HTTP_HOST} [^/.]+\.[^/.]+$
RewriteCond %{DOCUMENT_ROOT}/%0 -d
RewriteRule ^ %0%{REQUEST_URI} [L]

Re: 2 Domains getrennt auf einem Webhost ansteuern!

Verfasst: 07.10.2010 08:15
von stare
Nachdem ich etwas Zeit hatte habe ich das Problem gelöst...

Das einzige was leider nicht funktioniert und wobei ich etwas Hilfe bräuchte ist das Ansteuern der Hilfeseiten mit RewriteCond %{REQUEST_FILENAME} !-f und RewriteCond %{REQUEST_FILENAME} !-d je nach aufgerufener Domain also:
DomainA.com -> \root\DomainA\404
DomainB.com -> \root\DomainB\404

Die Struktur wurde noch etwas verändert:
  • - \root
    • - \DomainA
      • - \MainSite
        - \SubDomains
        • - \SubDomainsA
          - \SubDomainsB
        - \404
    • - \DomainB
      • - \MainSite
        - \SubDomains
        • - \SubDomainsA
          - \SubDomainsB
        - \404
#### START ###

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

###################
### DomainA.COM ###
###################

# MainDomain
RewriteCond %{HTTP_HOST} ^(www\.)?DomainA\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/DomainA/MainSite%{REQUEST_URI}/ -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]

# Rewrite MainDomain
RewriteCond %{HTTP_HOST} ^(www\.)?DomainA\.com$ [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule !^DomainA/MainSite(/.*)?$ /DomainA/MainSite%{REQUEST_URI} [QSA,L]

# SubDomains
RewriteCond %{HTTP_HOST} !^(www\.)?DomainA\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.DomainA\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/DomainA/SubDomains/%2%{REQUEST_URI}/ -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]

# Rewrite SubDomains
RewriteCond %{HTTP_HOST} !^(www\.)?DomainA\.com$ [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.DomainA\.com$ [NC]
RewriteRule !^DomainA/SubDomains/%2(/.*)?$ /DomainA/SubDomains/%2%{REQUEST_URI} [QSA,L]

###################
### DomainB.COM ###
###################

# MainDomain
RewriteCond %{HTTP_HOST} ^(www\.)?DomainB\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/DomainB/MainSite%{REQUEST_URI}/ -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]

# Rewrite MainDomain
RewriteCond %{HTTP_HOST} ^(www\.)?DomainB\.com$ [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule !^DomainB/MainSite(/.*)?$ /DomainB/MainSite%{REQUEST_URI} [QSA,L]

# SubDomains
RewriteCond %{HTTP_HOST} !^(www\.)?DomainB\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.DomainB\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/DomainB/SubDomains/%2%{REQUEST_URI}/ -d
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]

# Rewrite SubDomains
RewriteCond %{HTTP_HOST} !^(www\.)?DomainB\.com$ [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.DomainB\.com$ [NC]
RewriteRule !^DomainB/SubDomains/%2(/.*)?$ /DomainB/SubDomains/%2%{REQUEST_URI} [QSA,L]

###########
### ALL ###
###########

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

# Custom Error Page (Any Ideas for my Problem????)
ErrorDocument 404 http://DomainB.com/404/404.html