Subdomains auf Hauptdomain umleiten

Alles, was den Apache betrifft, kann hier besprochen werden.

Subdomains auf Hauptdomain umleiten

Postby kismuc » 07. June 2009 11:23

Hallo an alle!

Bin mir nicht sicher, ob ich hier richtig bin, aber ich habe folgendes Problem.

Habe einen VServer bei 1&1 und möchte die angelegten Subdomains automatisch auf die Hauptdomain umleiten lassen.
Wie muss ich hier vorgehen?
Weiß nicht mehr weiter!

Danke und Gruß
Michael
kismuc
 
Posts: 6
Joined: 07. June 2009 11:16

Re: Subdomains auf Hauptdomain umleiten

Postby Xardas der Dunkle » 07. June 2009 12:17

Einfach auf von foo.example.com/ auf example.com/ umleiten? Oder eher sowas example.com/foo ?

(Ungetestet) Für das umleiten nach example.com/foo :
Code: Select all
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule (.*) http://www.example.com/$1

RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^(.+)\.example.com$
RewriteRule (.*) http://www.example.com/%1/$1

Falls die Subdomain nicht mit erscheinen soll einfach das /%1 aus der RewriteRule entfernen.

Den Code einfach in den VHost einfügen auf dem alle Subdomains landen!
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Subdomains auf Hauptdomain umleiten

Postby kismuc » 07. June 2009 12:54

Super und wie kann ich das generell für alle Subdomains einstellen?
kismuc
 
Posts: 6
Joined: 07. June 2009 11:16

Re: Subdomains auf Hauptdomain umleiten

Postby Xardas der Dunkle » 07. June 2009 13:03

In dem du alle Subdomains auf den VHost A leitest in dem obigen Code steht?
Wer sich zutraut einen VServer zu verwalten, sollte zumindest wissen wie man einen VHost anlegt.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Subdomains auf Hauptdomain umleiten

Postby kismuc » 07. June 2009 15:01

Bin ja noch am lernen!

Funktioniert auch so! Super danke schonmal!

Mein Problem ist aber, dass ich das jetzt für jede angelegte Subdomain explizit durchführen muss.

Kann man es nicht in der allgemeinen vhost.conf irgendwie festlegen?
kismuc
 
Posts: 6
Joined: 07. June 2009 11:16

Re: Subdomains auf Hauptdomain umleiten

Postby kismuc » 07. June 2009 15:06

Ach ja und ich muss die eingegebene Subdomain noch über
$_SERVER['HTTP_REFERER']
abfragen können.
kismuc
 
Posts: 6
Joined: 07. June 2009 11:16

Re: Subdomains auf Hauptdomain umleiten

Postby Xardas der Dunkle » 07. June 2009 15:38

Mein Problem ist aber, dass ich das jetzt für jede angelegte Subdomain explizit durchführen muss.

...

Leg einfach 2 VHosts an:
Code: Select all
<VirtualHost *>
    ServerName example.com
    ServerAlias  sub1.example.com sub2.example.com sub3.example.com
    DocumentRoot /var/www/www.example.com/

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^example\.com$
    RewriteRule (.*) http://www.example.com/$1

    RewriteCond %{HTTP_HOST} !^www\.example\.com$
    RewriteCond %{HTTP_HOST} ^(.+)\.example.com$
    RewriteRule (.*) http://www.example.com/%1/$1
</VirtualHost>

<VirtualHost *>
    ServerName www.example.com
    DocumentRoot /var/www/www.example.com/

[...]
</VirtualHost>


$_SERVER['HTTP_REFERER']

kA ob der hier gesetzt wird, zumal dies eine Einstellung des Browsers ist. Heißt der Benutzer kann diese auch abstellen!

Ansonsten kannst du mal folgendes versuchen:
Code: Select all
    RewriteRule (.*) http://www.example.com/%1/$1 [E=SUBDOM:%1]

Es sollte dann theoretisch eine Variable $_SERVER['SUBDOM'] oder $_ENV['SUBDOM'] existieren, in der dann eben der Name der Subdomain steht!

mfG
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Subdomains auf Hauptdomain umleiten

Postby kismuc » 08. June 2009 17:44

Super Danke!
Langsam versteh ich das ganze!

Habs jetzt über eine .htaccess gelöst

Inhalt:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^domain.de [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://domain.de/index.php [L,R=301]


Nur kann ich jetzt immer noch nicht die ursprünglich eingegebene Subdomain auslesen.
Der Hinweis von dir hat leider auch nicht gefunzt.
Hast du noch ne Idee wie ich die Subdomain mittels Variable übergeben kann?
kismuc
 
Posts: 6
Joined: 07. June 2009 11:16

Re: Subdomains auf Hauptdomain umleiten

Postby Xardas der Dunkle » 08. June 2009 17:57

Habs jetzt über eine .htaccess gelöst

Wieso? HTACCESS-Files sind erstens langsam (Apache durchsucht nämlich jedes Verzeichnis nach .htaccess Dateien, falls aktiviert [man sollte sie daher immer im VHost deaktivieren, wenn man sie nicht brauch!]) und zweitens wundert es mich das die Abfrage von HTTPD_HOST dort überhaupt funktioniert!

Nur kann ich jetzt immer noch nicht die ursprünglich eingegebene Subdomain auslesen.
Der Hinweis von dir hat leider auch nicht gefunzt.
Hast du noch ne Idee wie ich die Subdomain mittels Variable übergeben kann?

Also bei mir funzt dieser Code, wie wer es wenn du dir mal das $_SERVER Array ausgeben lässt?
Code: Select all
RewriteRule (.*) http://www.example.com/%1/$1 [E=SUBDOM:%1]

Bei mir heißt die Variable nämlich: $_SERVER['REDIRECTED_SUBDOM'] oder so ähnlich.

Code: Select all
!^domain.de

Den . solltest du mit \ escapen! Weil der Punkt eben bei regulären Ausdrücken für ein beliebiges Zeichen steht!
Wobei es in diesem Fall sogar egal währe, da es eine domain wie domain!de eben nicht gibt ;) und schon gar nicht auf deinen VHost zeigt.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Subdomains auf Hauptdomain umleiten

Postby kismuc » 08. June 2009 18:28

Bekomme aus der $_SERVER alles, nur nicht die Subdomain.
Auch über deinen Befehl hauts nicht hin.

Was gibts noch für eine Möglichkeit?
kismuc
 
Posts: 6
Joined: 07. June 2009 11:16

Re: Subdomains auf Hauptdomain umleiten

Postby Xardas der Dunkle » 08. June 2009 18:32

Du musst dein Script auch anpassen, da die Regel für meine Abfrage von oben gemacht ist:
Code: Select all
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$
RewriteRule ^(.*) http://example.com/index.php [E=SUBDOM:%1]


Ansonsten was funktionieren muss!:
Code: Select all
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$
RewriteRule ^(.*) http://example.com/index.php?subdom=%1
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Subdomains auf Hauptdomain umleiten

Postby Michael B. » 01. November 2009 08:34

Hallo,
Genau das gleiche Problem habe ich auch, leider konnte ich nicht wirklich viel mit den Antworten anfangen. Zunächst müsste ich mal wissen welche Dateien ich da überhaupt anpassen muss? Ich habe die aktuelle Version von Xampp 1.7.2 für Windows. Mein Problem ist zurzeit halt das man über jede Subdomain die Haupseite aufrufen kann (Standart Einstellung), dass möchte ich aber nicht denn alles soll nur über domain.de und www.domain.de und nicht über subdomain.domain.de erreichbar sein. Mir ist auch schon klar das ich einen Vhost erstellen muss, aber wie genau muss das dann in der httpd-vhosts.conf ausssehen?

Code: Select all
##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host.localhost
    ##DocumentRoot "/xampp/htdocs/dummy-host.localhost"
    ##ServerName dummy-host.localhost
    ##ServerAlias www.dummy-host.localhost
    ##ErrorLog "logs/dummy-host.localhost-error.log"
    ##CustomLog "logs/dummy-host.localhost-access.log" combined
##</VirtualHost>

##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host2.localhost
    ##DocumentRoot "/xampp/htdocs/dummy-host2.localhost"
    ##ServerName dummy-host2.localhost
    ##ServerAlias www.dummy-host2.localhost
    ##ErrorLog "logs/dummy-host2.localhost-error.log"
    ##CustomLog "logs/dummy-host2.localhost-access.log" combined
##</VirtualHost>


Und müsste nun außer dieser Datei noch was angepasst werden, denn ich lese hier viel über Mod Rewrite, aber wo soll das hinkommen?

Grüße,
Michael
Michael B.
 
Posts: 6
Joined: 01. November 2009 08:14

Re: Subdomains auf Hauptdomain umleiten

Postby Wiedmann » 01. November 2009 09:24

denn alles soll nur über domain.de und www.domain.de und nicht über subdomain.domain.de erreichbar sein.

Wieso hast du dann im DNS-Server auch "subdomain.domain.de" eigerichtet, und nicht nur "domain.de" + "www.domain.de"?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Subdomains auf Hauptdomain umleiten

Postby Michael B. » 01. November 2009 10:25

Also um ehrlich zu sein hab ich noch garnichts verändert, das sind die Einstellungen wie sie von Xampp ausgeliefert werden, ich hab am DNS Server noch garnichts verändert, weiß ja garnicht was ich da veränder muss?
Michael B.
 
Posts: 6
Joined: 01. November 2009 08:14

Re: Subdomains auf Hauptdomain umleiten

Postby Nobbie » 01. November 2009 11:40

Michael B. wrote:Also um ehrlich zu sein hab ich noch garnichts verändert, das sind die Einstellungen wie sie von Xampp ausgeliefert werden, ich hab am DNS Server noch garnichts verändert, weiß ja garnicht was ich da veränder muss?


Frage nicht verstanden. Nochmal zum Mitschreiben:

wer hat wo und wieso (wenn es nicht Dein Wille war) eingestellt, dass subdomain.domain.de auf Deinen Xampp Server verweist (sprich: die IP Deines Rechners zugeordnet hat).

Wenn man "einfach so" subdomain.domain.de im Browser eingibt, wird normalerweise gar keine Seite angezeigt, sondern eine Fehlermeldung angezeigt, weil der Browser nicht weiß, welche IP sich dahinter verbirgt. Gib mal als Test subdomain.google.de ein - da kommt eine Fehlermeldung. Das ist das Standardverhalten. Um das zu verhindern, muss man einen DNS Server so einrichten, so dass subdomain.google.de auf eine IP verweist.

Deswegen nochmal: wieso verweist subdomain.domain.de auf Deinen Xampp, wenn Du das gar nicht willst? Das ist nichts, was in Xampp eingestellt wird und auch nicht auf dem Xampp Server.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Next

Return to Apache

Who is online

Users browsing this forum: No registered users and 23 guests