Hébergement internet mutualisé: comment dissocier des domaines qui pointent sur le même document root avec un .htaccess et du rewriterule sous apache.

L’hébergement mutualisé… c’est assez frustrant quand on fait de l’hébergement de devoir intervenir sur une machine mutualisée avec pour seul levier de modification un .htaccess et un accès ftp ; mais bon, il faut bien faire avec parfois.

Alors voici un fichier .htaccess à glisser à la racine (document_root) de votre hébergement mutualisé qui permet de dissocier des noms de domaines qui pointent sur le même serveur et le même document_root.

# on active le moteur de règles de réécriture apache.
RewriteEngine on
# si le HTTP_HOST est www.site-un.com
RewriteCond %{HTTP_HOST} www\.site-un\.com

# et si le REQUEST_URI (le chemin) ne commence pas par /www-site-un-com
# obligatoire sinon la règle bouclerait sur elle même
RewriteCond %{REQUEST_URI} !^/www-site-un-com
# alors tous les requetes sont réécrites dans /www-site-un-com
RewriteRule ^(.*)$ /www-site-un-com/$1

RewriteCond %{HTTP_HOST} www\.site-deux\.com
RewriteCond %{REQUEST_URI} !^/www-site-deux-com
RewriteRule ^(.*)$ /www-site-deux-com/$1

RewriteCond %{HTTP_HOST} www\.site-trois\.com
RewriteCond %{REQUEST_URI} !^/www-site-trois-com
RewriteRule ^(.*)$ /www-site-trois-com/$1

Et voila, 3 domaines avec 3 document_root bien distincts. Mais bon la prochaine fois, opter pour un vrai hébergement mutualisé ou dédié mais pas forcement grand public.