j'ai un serveur linux mail + http situé par Internet à www.mydomain.com
. Le domaine a été acheté à GoDaddy
donc après avoir configuré le serveur et obtenu l'adresse IP publique, je suis allé au profil de GoDaddy pour modifier les entrées A
et MX
de ma zone DNS afin de les diriger vers mon adresse IP publique du serveur. Dans l'entrée MX
, je n'ai pas placé l'adresse IP, mais un alias appelé mail.mydomain.com.
Tout fonctionne bien, mais comme www.mydomain.com
et mail.mydomain.com
pointent tous deux vers x.y.w.z
où Apache est en cours d'exécution, lorsque vous écrivez www.mydomain.com
ou mail.mydomain.com
dans le Internet Browser
ma page Web par défaut est affichée. Je voudrais dire à Apache de ne montrer la page que si www.mydomain.com
est écrit dans l'URL et de refuser l'accès si mail.mydomain.com
est écrit. Est-ce que quelqu'un sait comment dois-je le faire? Merci :)
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/mydomain.com/
ServerName www.mydomain.com
ErrorLog logs/mydomain_com-error_log
CustomLog logs/mydomain_com-access_log common
</VirtualHost>
Créez simplement un autre hôte virtuel pour mail.example.com
et vous pourrez dire à Apache de faire ce que vous voulez quand les gens vont vers cet hôte.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mail.example.com
ErrorLog logs/example_com-error_log
# if you care about hits:
CustomLog logs/example_com-access_log common
Ensuite, si vous souhaitez interdire totalement l'accès:
<Directory />
Order allow,deny
Deny from all
</Directory>
Ou pour rediriger vers votre domaine réel, faites ceci à la place:
RedirectPermanent / http://www.example.com/
Ou vous pourriez faire autre chose.
</VirtualHost>
Si vous mettez les éléments suivants dans votre .htaccess
, tout visiteur venant sur votre site au moyen d'un domaine autre que www.example.com
sera forcé de se rediriger vers le bon domaine:
RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.example\.com$ [NC]
RewriteRule ^(.*) http://www.example.com/$1 [L,R=301]