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]