redirection de sous domaines vers les domaines correspondant
Posté : 29 sept. 2010, 18:18
J'héberge plusieurs sites internet sur mon serveur apache 2.0 via des virtualshosts :
Le soucis c'est que si je tape http://siteB.com dans le navigateur, le nom exact "siteB.com" n'etant defini dans aucun virtualhost, c'est le contenu de siteA.com qui va s'afficher.
Pour pareer à cela je rajoute dans mon fichier de conf apache la ligne :
Mais maintenant je voudrais rediriger n'importe quel sous domaine de siteB.com vers http://www.siteB.com et n'importe quel sous domaine de siteA.com vers http://www.siteA.com
Est ce qu'on peut gérer cela via des directives apache?
j'ai tenté ceci : mettre le code suivant avant les virtualhosts :
mais cela n'a pas réussi, j'ai toujours le contenu de siteA.com qui s'affiche si je tape tototest.siteB.com, or je voudrais que ce soit celui de siteB.com
si je mets ce code après cela ne marche pas non plus, si je prends (.*)\.siteB\.com en expression régulière, cela ne marche pas non plus.
.
quelqu'un a une idée?
Code : Tout sélectionner
<VirtualHost 192.168.1.2>
DocumentRoot c:\repA\htdocs
ServerName www.siteA.com
#...
</VirtualHost>
<VirtualHost 192.168.1.2>
DocumentRoot c:\repB\htdocs
ServerName www.siteB.com
#...
</VirtualHost> Le soucis c'est que si je tape http://siteB.com dans le navigateur, le nom exact "siteB.com" n'etant defini dans aucun virtualhost, c'est le contenu de siteA.com qui va s'afficher.
Pour pareer à cela je rajoute dans mon fichier de conf apache la ligne :
Code : Tout sélectionner
<VirtualHost 192.168.1.2>
ServerName siteB.com
Redirect / http://siteB.com
</VirtualHost> Est ce qu'on peut gérer cela via des directives apache?
j'ai tenté ceci : mettre le code suivant avant les virtualhosts :
Code : Tout sélectionner
#REDIRECTION DES SOUS DOMAINES VERS LE BON DOMAINE :
<VirtualHost 10.39.39.101>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9\-]*)\.siteB\.com$ [NC]
RewriteRule ^(.*) http://www.siteB.com/$1 [QSA,L,R=301]
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9\-]*)\.siteB\.com$ [NC]
RewriteRule ^(.*) http://www.siteB.com/$1 [QSA,L,R=301]
</VirtualHost>si je mets ce code après cela ne marche pas non plus, si je prends (.*)\.siteB\.com en expression régulière, cela ne marche pas non plus.
.
quelqu'un a une idée?