Comment créer des sous-domaines avec .htaccess ?

Publié 27 août 2024

Problème : Créer des sous-domaines avec .htaccess

Les propriétaires de sites web ont souvent besoin de créer des sous-domaines pour organiser leur contenu ou offrir différents services. Bien que de nombreux panneaux de contrôle d'hébergement disposent d'outils à cet effet, certaines situations nécessitent la création manuelle de sous-domaines à l'aide de fichiers .htaccess. Cette approche peut être difficile pour ceux qui ne sont pas familiers avec la configuration des serveurs, ce qui soulève la question de savoir comment créer des sous-domaines à l'aide de .htaccess.

Créer des sous-domaines avec .htaccess

Étape 1 : Configuration DNS

Pour créer des sous-domaines à l'aide de .htaccess, configurez une entrée DNS joker (wildcard). Cette entrée permet à votre domaine de gérer tous les sous-domaines sans créer d'enregistrements DNS individuels pour chacun d'entre eux. Ajoutez un enregistrement A avec un astérisque (*) comme sous-domaine, pointant vers l'adresse IP de votre serveur. Par exemple :

*.votredomaine.com IN A xxx.xxx.xxx.xxx

Le DNS est important dans la création de sous-domaines car il dirige le trafic vers le bon serveur. Sans une configuration DNS appropriée, vos sous-domaines ne seront pas accessibles.

Conseil: Vérifier la propagation DNS

Après avoir configuré votre entrée DNS joker, utilisez des outils de recherche DNS en ligne pour vérifier la propagation. Cela peut prendre jusqu'à 48 heures, mais se produit souvent beaucoup plus rapidement. Cette vérification garantit que vos modifications DNS sont actives avant de passer aux étapes suivantes.

Étape 2 : Configuration Apache

Configurez votre serveur Apache pour gérer les sous-domaines. Modifiez votre fichier de configuration Virtual Host pour inclure une directive ServerAlias qui correspond à l'entrée DNS joker :

:80> ServerName votredomaine.com ServerAlias .votredomaine.com DocumentRoot /var/www/votredomaine.com

Cette configuration indique à Apache de traiter les requêtes pour tous les sous-domaines de votre domaine principal.

Étape 3 : Mise en œuvre de .htaccess

Utilisez .htaccess pour gérer le comportement des sous-domaines. Créez ou modifiez le fichier .htaccess dans le répertoire racine de votre site web. Ajoutez des règles de réécriture pour gérer les requêtes de sous-domaines :

RewriteEngine On RewriteCond %{HTTP_HOST} ^(.+).votredomaine.com$ RewriteCond %{REQUEST_URI} !^/subdomains/ RewriteRule ^(.*)$ /subdomains/%1/$1 [L]

Cette règle redirige les requêtes pour les sous-domaines vers des dossiers spécifiques dans la structure de votre site web. Par exemple, une requête vers blog.votredomaine.com serait dirigée vers /subdomains/blog/.

Vérifier la création des sous-domaines

Tester la fonctionnalité des sous-domaines

Après avoir configuré les sous-domaines à l'aide de .htaccess, vous devez vérifier s'ils fonctionnent correctement. Voici quelques façons de tester la fonctionnalité des sous-domaines :

  1. Test par navigateur : Ouvrez un navigateur web et entrez l'URL complète du sous-domaine (par exemple, http://sous-domaine.votredomaine.com). Si le sous-domaine est correctement configuré, vous devriez voir le contenu attendu.

  2. Outils en ligne de commande : Utilisez des outils comme 'ping' ou 'nslookup' pour vérifier si le sous-domaine est résolu à la bonne adresse IP. Par exemple :

    ping sous-domaine.votredomaine.com
  3. Vérificateurs DNS en ligne : Utilisez des vérificateurs de propagation DNS en ligne pour vérifier que vos enregistrements DNS de sous-domaine sont visibles sur différents serveurs DNS dans le monde.

  4. Vérification du système de fichiers : Vérifiez que le contenu du sous-domaine se trouve dans le bon répertoire sur votre serveur, comme spécifié dans vos règles .htaccess.

Si vous rencontrez des problèmes, voici quelques problèmes courants et leurs solutions :

  1. Propagation DNS : Si le sous-domaine ne fonctionne pas immédiatement, attendez que les changements DNS se propagent. Cela peut prendre jusqu'à 48 heures, mais se produit souvent plus rapidement.

  2. Erreurs de syntaxe .htaccess : Vérifiez votre fichier .htaccess pour les erreurs de syntaxe. Vous pouvez utiliser des testeurs .htaccess en ligne ou activer la journalisation des erreurs d'Apache pour plus de détails.

  3. Configuration Apache : Vérifiez que votre configuration Apache autorise les remplacements .htaccess. Vérifiez votre configuration d'hôte virtuel pour la directive "AllowOverride".

  4. Permissions des fichiers : Assurez-vous que votre serveur web a les permissions nécessaires pour lire le fichier .htaccess et accéder au répertoire de contenu du sous-domaine.

  5. Problèmes de certificat SSL : Si vous utilisez HTTPS, votre certificat SSL pourrait ne pas couvrir le nouveau sous-domaine. Envisagez d'utiliser un certificat SSL joker ou d'obtenir un nouveau certificat qui inclut le sous-domaine.