2009-08-24 11 views
2

Es ist möglich, dass ich RewriteRule für mehr als eine Domäne konfigurieren kann.Umleitung von Subdomain zu Domain + .htaccess

Wie meine Forderung ist Mein aktueller Domain-Namen www.maindomain.com und lassen Sie sagen, ich habe drei domian und Sub-Domain die Subdomain url ist example1.maindomain.com example2.maindomain.com example3.maindomain.

com

Jetzt möchte ich, wann immer Benutzer versuchen www.example1.com zugreifen sollte den Inhalt example1.maindomain.com und das gleiche für example2 erhalten, Example3

ich bin mit apache + Passagier.

Danke für Hilfe.

Antwort

9

Schreiben Sie zuerst eine Bedingung, die mit allen Domänennamen übereinstimmt, die umgeleitet werden sollen. Schreiben Sie mithilfe des übereinstimmenden Teils der Domäne eine Regel, die die Ziel-Subdomänen-URLs erneut schreibt. So, da die gewünschte Abbildung in Ihrer Frage erwähnt, so etwas wie die folgenden soll es tun:

RewriteCond %{HTTP_HOST} ^www\.(example[123])\.com$ [NC] 
RewriteRule ^(.*) http://%1.maindomain.com/$1 [L,R] 

Die oben Neufassungen von z.B. www.example1.com bis example1.maindomain.com. Ähnlich, wenn Sie es anders herum brauchen:

RewriteCond %{HTTP_HOST} ^(example[123])\.maindomain\.com$ [NC] 
RewriteRule ^(.*) http://www.%1.com/$1 [L,R] 

Dies würde z. example2.maindomain.com bis www.example2.com.

+0

Kann dies mit einem Platzhalter gemacht werden? Etwas wie: RewriteCond% {HTTP_HOST}^(*) \ .Hauptdomain \ .com $ [NC] RewriteRule^(. *) Http://www.maindomain.com/$1 [L, R] – tvgemert

+1

Das oben genannte tatsächlich enthält bereits einen "Wildcard": Das Hostnamen-Muster in ['RewriteCond'] (http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#RewriteCond) ist eine Regex, die' www.example1 entspricht .com "," www.example2.com "und" www.example3.com ". Sie können natürlich auch jede andere Regex verwenden. Um eine beliebige Subdomain zu finden, sollte '\ .maindomain \ .com $' (oder alternativ '^. * \. Maindomain \ .com $') tun. – earl

+0

Danke! Was ich gefunden habe funktioniert: RewriteEngine On RewriteCond% {HTTP_HOST}^(. +) \. Domäne \ .nl $ [NC] RewriteRule^http://domain.nl/?subdomain=%1 [L , R] – tvgemert