1 votes

Sous-domaines dynamiques à travers plusieurs domaines sur Apache

Je fais tourner un serveur web utilisant Ubuntu/Apache, et je cherche un moyen d'héberger dynamiquement des sous-domaines sur plusieurs domaines. Je me suis amusé avec Apache pendant quelques jours, et je n'ai pas réussi à trouver une solution complète.

Voici le flux de travail que je recherche :

  • Si HTTP_HOST contient le préfixe 'www', ignorez-le.

  • S'il inclut un sous-domaine, vérifiez si un dossier correspondant existe dans le dossier ~/server/

  • Si un dossier existe, définissez ce dossier comme la racine du document.

  • S'il n'existe pas, définissez ~/server/www comme racine du document.

  • Les sous-domaines à plusieurs niveaux doivent être dirigés vers le sous-domaine de base. Par exemple, http://another.sub.domain.tld/ devrait avoir pour valeur par défaut ~/server/sub

  • Si aucun sous-domaine n'est demandé, utilisez ~/server/www

Structure du dossier :

/home/ [domain w/o extension] /server/ [subdomain, default 'www']

Ejemplo: http://sub.domain.tld/ correspond à /home/domain/server/sub

Voici ce que j'ai obtenu jusqu'à présent, en utilisant le mod_vhost_alias :

UseCanonicalName Off
VirtualDocumentRoot /home/%-2/server/%-3

Cela seul est satisfaisant :

  • http://www.domain.tld/ - cherche ~/server/www
  • http://subdomain.domain.tld - cherche ~/server/subdomain
  • http://www.subdomain.domain.tld - cherche ~/server/subdomain

Mais il ne satisfait pas http://domain.tld/ . (cherche ~/server/domain )

En outre, si ~/server/subdomain n'existe pas, il renvoie un 404.

En bref, je voudrais que chaque sous-domaine ait son propre dossier dans le dossier ~/server/ ou par défaut ~/server/www si elle est inexistante.

Je veux éviter d'utiliser mod_rewrite, car il ne modifie pas la racine du document ; il ajoute simplement un répertoire à la requête. Cependant, je peux modifier la structure du dossier en dernier recours.

1voto

Winger Points 254

Pour ce faire, vous pouvez utiliser le mod_rewrite d'Apache sans utiliser d'hôtes virtuels. Il peut découper les URL en tranches et vérifier l'existence de répertoires et de fichiers.

Elle n'est peut-être pas aussi rapide que les hôtes virtuels, mais elle est beaucoup plus facile à mettre en œuvre.

0 votes

J'y ai réfléchi, et j'ai décidé d'expérimenter le mod_rewrite et de revoir un peu la structure des dossiers. Merci.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X