2009-12-21 3 views
4

Je suis à la recherche d'une solution pour créer des sous-domaines par programme dans ASP.NET, ASP.NET MVC et PHP. Plus précisément, une page de profil utilisateur doit résoudre à la fois: www.domain.com/profilename ou http://profilename.domain.com.Création de sous-domaines par programme

+1

Cette question est vraiment sans réponse. Vous feriez mieux d'en aborder une partie à la fois. Configuration DNS, code .NET, code PHP, etc ... –

+0

oui vous avez raison et je ne cherche pas vraiment une solution mais je me demande comment ça se fait ... Bien que je m'attendais à quelques codes écrits pour HttpModuleHandlers et aussi nouvelles propriétés de routage dans asp.net 4 .. Mais je pense que des réponses plus intéressantes seront affichées ici :) – Kubi

Répondre

20

Mettez à jour vos paramètres DNS du domaine particulier afin que * .domain.com pointe tous vers le même hôte.

Puis, vérifiez par programme et vérifiez si la première partie de l'URL utilisée contient le sous-domaine que vous recherchez et agissez en conséquence. Par exemple, si la première partie contient un nom de profil donné, récupérez cette collection particulière de profils de votre base de données et affichez-la à l'utilisateur. Assurez-vous que votre application Web utilise des liens relatifs, de sorte que si l'utilisateur arrive sur le site à l'aide d'un sous-domaine, vous ne les redirigerez pas ailleurs.

+1

+ 1 domaine attrape-tout est le chemin à parcourir. –

+0

Merci! Exactement ce que j'ai cherché. – Hnatt

1

Il n'existe aucun moyen générique de créer des sous-domaines. Vous devrez appeler une API fournie par votre fournisseur de services Internet ou votre fournisseur de DNS, généralement SOAP ou REST.

Soit cela, soit d'utiliser un domaine générique (*). Sur le côté IIS, assurez-vous de configurer votre application afin qu'elle n'utilise pas les en-têtes Host.

+5

Chaque site qui fait quelque chose comme ça utilise des domaines génériques. En fait, créer des entrées DNS individuelles signifierait de longs délais de propagation DNS, des fichiers de zone incroyablement gonflés, etc. –

+1

Cela dépend du nombre de sous-domaines dont vous avez besoin (l'OP n'a pas spécifié). Le Wildcarding n'est pas toujours la meilleure solution, en particulier si vous êtes préoccupé par l'évolutivité. Voici un lien vers un exemple d'API pour créer de nouveaux sous-domaines, fourni par un service DNS géré: https://durabledns.com/help/downloads/DurableDNS%20SOAP%20API%20Documentation%20v3.0.pdf – RickNZ

1

Vous pouvez essayer:

AppDomain subDomain = AppDomain.CreateDomain("ProfileUserDomain"); 

Même si vous devez configurer votre DNS pour permettre la demande de votre code. Les services DNS dynamiques pourraient être votre réponse.

+0

merci de votre réponse . Avez-vous des informations sur la configuration des services DNS dynamiques sur IIS? – Kubi

+0

Je ne sais pas comment ajouter un logiciel DNS dynamique sur votre serveur Web ou votre serveur Windows, mais j'espère que l'utilisation d'un compte sur un serveur dédié vous aidera: http://howto.wired.com/wiki/Set_Up_Dynamic_DNS – tristo