htaccess gère le sous-domaine et le trafic restant

Je sais qu’il y a une foule d’autres questions sur ce sujet, mais je n’ai pas pu les utiliser pour conquérir mon problème.

Voici ce que je tente de faire: Nous avons eu un changement de domaine, nous avons déplacé un site de son propre domaine vers un sous-secteur principal:

www.oldsite.com -> http://oldsite.newdomain.com

Il y avait aussi un ancien sous-domaine:

http://sub.oldsite.com qui doit être http://sub.newdomain.com

J’essayais de gérer cela dans htaccess en attrapant d’abord s’il y avait le sous-domaine et en le redirigeant, sinon, redirige simplement le rest du trafic.

Voici ce que j’ai essayé jusqu’à présent:

 #Send all traffic to store.newsite.com #RewriteCond %{HTTP_HOST} ^store.oldsite.com [NC,OR] #RewriteRule ^(.*)$ http://store.newsite.com/$1 [L,R=301,NC] #Sends all traffic to store.newsite.com #RewriteCond %{HTTP_HOST} !^store.oldsite.com$ [NC] #RewriteRule ^(.*)$ http://store.newsite.com/$1 [R=301,QSA,L] #Doesn't catch the sub domain and all redirects fall to the 301 #RewriteCond %{HTTP_HOST} store.oldsite.com$ [NC] #RewriteRule ^(.*)$ http://store.newsite.com/$1 [P] #redirects all traffic, but not additional pages eg newsite.com/a/b/c #RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR] #RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC] #RewriteRule ^(.*)$ http://newsite.com/$1 [L,R=301,NC]  #redirects all traffic and the additonal params /a/b/c Redirect 301 / http://newsite.com/ 

Je les ai essayés individuellement tout en laissant la redirection 301 vers le bas au cas où aucune des règles ne serait remplie. Le commentaire au-dessus du bloc de code indique quel résultat j’ai reçu. Je ne suis pas très familiarisé avec htaccess et pourrait utiliser toute l’aide que je peux obtenir. Merci d’avance.

Ce que j’attends:

  store.oldsite.com => store.newsite.com (this is the only sub domain) oldsite.com => newsite.com (All existing pages, could be up to 4/5 deep. eg oldsite.com/a/b/c/d => newsite.com/a/b/c/d) 

Vous pouvez essayer ce fichier:

  RewriteEngine on RewriteBase / #Redirect old store to new domain RewriteCond %{HTTP_HOST} ^store\.oldsite\.com$ [NC] RewriteRule ^(.*)$ http://store.newsite.com/$1 [L,R=301,NC] #redirect old site (with or without www) to new domain RewriteCond %{HTTP_HOST} ^(www\.|)oldsite\.com$ [NC] RewriteRule ^(.*)$ http://newsite.com/$1 [L,R=301,NC] #redirect others to new domain homepage RewriteCond %{HTTP_HOST} oldsite\.com$ [NC] RewriteRule ^.*$ http://newsite.com/? [L,R=301]