Umleiten von *.example.com auf www.example.com, wie?

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

Umleiten von *.example.com auf www.example.com, wie?

Postby csx » 07. November 2008 13:27

Hallo Experten! :) Ich habe in meine htaccess also die übliche Rewrite Rule von "ohne www" auf "mit www" für den Host.

Code: Select all
RewriteCond %{HTTP_HOST} !^(www|local)\.     [NC]
RewriteCond %{HTTP_HOST} !^$                 [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]


Nun ist mein Server aber leider so übel (ver-)konfiguriert, dass der 3. Level, also das "www" alles mögliche sein könnte, also auch 1234.example.com würde meine Seite aufrufen. Soll sie natürlich nicht.

Durch die oben angegebene Rewrite Rule würde 1234.example.com aber nach www.1234.example.com weitergeleitet. Ich möchte aber "1234" (oder jeglichen anderen String) abschneiden und alles auf www.example.com umleiten.

Frage nun: wie mach ich das am besten? Ich bin mir fast sicher, dass es irgendwas recht einfaches ist... ich find's nur nicht! :oops:

Danke für Tipps!
csx
 
Posts: 6
Joined: 19. October 2008 20:34
Location: Hamburg

Postby Wiedmann » 07. November 2008 13:50

alles auf www.example.com umleiten.

Dann überprüfe und leite direkt auf "www.example.com" um.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby csx » 07. November 2008 14:23

Sorry, da habe ich vergessen zu erwähnen: Zahlreiche Domains zeigen auf diesen Ordner, also "example.com" kann auch "example.org" oder "example.net", etc sein.

Die htaccess soll die Domain dann entsprechend auf www.[domain.tld] weiterleiten. So dass ich nicht überall verteilt die www-Umleitung vorhalten muss.

Ich brauche also zum beispiel so etwas wie %{HTTP_HOST}, dass mit aber nur die ersten zwei Level der Domain zurückgibt. Gibt's das?

Oder eine Regex wie /([a-z0-9-]+\.[a-z]{2,10})$/ die mir die ersten beiden Level in einer $1-Variablen zurueckgeben würde. Ich habe nur keine Ahnung, wie und wo ich die in der RewriteRule unterbringen würde...
csx
 
Posts: 6
Joined: 19. October 2008 20:34
Location: Hamburg

Postby pv » 13. November 2008 17:23

An der Lösung, wie alles in einer Conf zu erschlagen ist, wäre ich auch interessiert.
:wink:

Ansonsten würde ich mit mehreren Vhost arbeiten:

<VirtualHost *:80>
ServerName example.net
ServerAlias example.org
ServerAlias *.example.org
ServerAlias *.example.net

RedirectMatch permanent (.*) http://www.example.com/$1
</VirtualHost>

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com

# Standard Konfiguration hier rein

</VirtualHost>

HTH
pv
 
Posts: 5
Joined: 13. November 2008 16:52


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests