2009-08-24 2 views
2

Il est possible que je puisse configurer RewriteRule pour plus d'un domaine.rediriger du sous-domaine vers le domaine + .htaccess

Comme mon exigence est Mon actuel nom de domaine www.maindomain.com et laisser dire que j'ai trois domian et sous-domaine l'url sous-domaine est example1.maindomain.com example2.maindomain.com example3.maindomain. com

maintenant, je veux lorsque l'utilisateur tente d'accéder jamais www.example1.com il devrait obtenir le contenu de example1.maindomain.com et même pour example2, EXAMPLE3

J'utilise apache + passager.

Merci pour votre aide.

Répondre

9

Commencez par écrire une condition correspondant à tous les noms de domaine que vous souhaitez rediriger. À l'aide de la partie correspondante du domaine, écrivez une règle qui réécrit sur les URL de sous-domaine cible. Ainsi, compte tenu de la cartographie désirée indiqué dans votre question, quelque chose comme ce qui suit devrait faire l'affaire:

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

Les réécritures ci-dessus de par exemple www.example1.com à example1.maindomain.com. De même, si vous en avez besoin dans l'autre sens:

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

Cela réécrira par ex. example2.maindomain.com à www.example2.com.

+0

Peut-on utiliser un caractère générique? Quelque chose comme: RewriteCond% {HTTP_HOST}^(*) \. Maindomain \ .com $ [NC] RewriteRule^(. *) Http://www.maindomain.com/$1 [L, R] – tvgemert

+1

Ce qui précède réellement contient déjà un "caractère générique": le modèle de nom d'hôte dans ['RewriteCond'] (http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#RewriteCond) est une regex, qui correspond à' www.example1 .com', 'www.example2.com', et' www.example3.com'. Vous pouvez bien entendu utiliser n'importe quelle autre regex. Pour faire correspondre n'importe quel sous-domaine (s), '\ .maindomain \ .com $' devrait faire (ou, alternativement '^. * \. Maindomain \ .com $'). – earl

+0

Merci! Ce que j'ai trouvé de travail est: RewriteEngine Sur RewriteCond% {HTTP_HOST}^(. +) \. Domaine \ .nl $ [NC] RewriteRule^http://domain.nl/?subdomain=%1 , R] – tvgemert