Redirection du domaine principal mais pas de certains sous-domaines avec .htaccess

Actuellement j’ai:

Redirect 302 / http://www.example.com 

Bien que je veuille toujours que cette redirection ait lieu, je ne veux pas qu’elle les redirige si elle dit foo.mydomain.com ou toute autre page de ce sous-domaine.

Comment puis-je faire ceci?

Pour être plus précis de cette manière, vous devrez utiliser RewriteCond / RewriteRule plutôt qu’une simple directive de Redirect . Faites une correspondance négative ( ! ) Pour foo.mydomain.com et effectuez la réécriture. Vous pouvez faire correspondre plusieurs sous-domaines avec un groupe OR (foo|other1|other2)

 RewriteEngine On # Redirect anything except foo.example.com, bar.example.com RewriteCond %{HTTP_HOST} !^(foo|bar)\.example\.com$ [NC] # Redirect to www.example.com, preserving the URI RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=302] 

Si vous voulez simplement redirect vers la racine au lieu d’append l’URI entier via $1 , utilisez le même RewriteCond et faites simplement:

 # Match and redirect everything to the root of www.example.com RewriteRule ^. http://www.example.com/ [L,R=302]