2009-02-17 6 views
1

Je veux une demande à http://example.com/ * pour être redirigé vers http://www.example.com/ *.Quelle est la meilleure façon avec Apache de rediriger un sous-domaine vide vers un autre sous-domaine?

Où * est un chemin arbitraire.

+0

Utilisez "exemple. com "au lieu de foo: quelqu'un possèdera et utilisera le domaine foo. Etes-vous sûr qu'il ne sert pas de logiciels malveillants ou de pornographie? Quoi qu'il en soit, la pratique normale pour rediriger dans l'autre sens: www.example.com devrait pointer vers example.com, pas vice versa. –

+0

Merci Joel. Bons points tout autour. – nutcracker

Répondre

3

Utilisez le module de mod_alias Apache pour faire une redirection permanente comme:

RedirectPermanent/"http://www.example.com/" 

Placez la redirection dans le fichier bloc VirtualHost de sous-domaine vide ou niveau racine .htaccess.

Le suivi/sur "http://www.example.com/" est crucial.

2

Je vais ajouter une autre option ici que j'ai utilisée pour autoriser d'autres hôtes spécifiques. Par exemple, si vous voulez un site dev.example.com et un blog.example.com en plus de votre site www.example.com, mettez-le dans votre fichier racine .htaccess:

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^www\.example\.com 
RewriteCond %{HTTP_HOST} !^dev\.example\.com 
RewriteCond %{HTTP_HOST} !^blog\.example\.com 
RewriteRule (.*) http://www.example.com/$1 [R=301,L,QSA] 
Questions connexes