2009-09-26 7 views
2

Disons que j'ai un site hébergé sur exemple.com, maintenant je veux que chacun de mes utilisateurs enregistrés obtienne un sous-domaine personnalisé, par exemple Alice devrait normalement obtenir alice.example.com comme son sous-domaine. Alors qu'en réalité alice.example.com obtient des données de exemple.com/user/alice. Comment mettre en œuvre ce mécanisme? Je vois beaucoup de sites qui fonctionnent de cette façon. Je me demande comment ils l'ont fait. Est-ce une sorte de configuration de serveur de domaine, de configuration de serveur web, de réécriture de .htaccess ou simplement quelques astuces dans le code?Comment obtenir des sous-domaines personnalisés pour les utilisateurs et les faire fonctionner?

Si la redirection, comme je l'ai expérimenté, example.com et alice.example.com recevront des adresses différentes IP, si, comment réécrire fonctionne depuis quand je demande alice.example.com, la navigateur Web me prend à un site complètement différent (adresse IP). Cela m'a troublé pendant un certain temps, je ne peux pas le comprendre moi-même, toute aide serait vraiment appréciée.

[edit]: OK ATTENDRE! J'ai peur d'avoir fait un doublon. Vérifiez ce fil: En gros Create subdomains on the fly with .htaccess (PHP)

+0

Ne peut pas vous aider. Mais je dois le dire. C'est une bonne question. –

+0

Un mot de conseil, essayez de poser cette question à serverfault.com les gars du serveur sont généralement là. –

+0

Pour moi. Faute du serveur en ce moment est encore un peu un petit village. L'autre raison pour laquelle j'ai posé cette question était que je n'étais pas sûr que ce soit lié à la programmation ou à l'administration du système. Désolé de constater que quelqu'un a déjà demandé cela. Voir http://stackoverflow.com/questions/586129/create-subdomains-on-the-fly-with-htaccess-php – Shawn

Répondre

1

vous avez besoin de deux parties:

1) Votre Nameserver doit prendre en charge les caractères génériques. Donc, vous mapperiez * .mondomaine.com à un seul serveur. Cela amènera alice.mydomain.com et bob.mydomain.com à aller tous au même serveur.

2) Votre logiciel serveur doit ensuite pouvoir mapper le nom d'hôte (= alice.mydomain.com) sur votre application et transmettre la partie "alice" en tant que paramètre. Selon le logiciel de framework/serveur que vous utilisez, cela devrait être assez facile.

HTH Alex

+0

Merci. Je suis sur goDaddy, me demandant si leur serveur de noms prend en charge les caractères génériques. – Shawn

+0

@Shawn: leur serveur de noms ne supporte rien qui puisse vous aider. Pensez à utiliser le serveur de noms de votre hébergeur. –

+0

Le support de goDaddy m'a suggéré d'ajouter un caractère générique Un enregistrement pour pointer vers l'adresse IP de mon domaine principal. Ça marchera? – Shawn

1

Est-ce une sorte de configuration du serveur de domaine, configuration serveur web, .htaccess réécrire ou simplement quelques trucs dans le code?

C'est probablement une combinaison des différentes techniques.

La première couche serait probablement un Wildcard DNS record au niveau DNS, de sorte que tout sous-domaine peut être utilisé.

Ensuite, la configuration du serveur ou la logique d'application est utilisée pour séparer le contenu en fonction du sous-domaine accédé. Cela peut être une directive Apache Alias ​​ou une règle de réécriture ou une logique dans le code de votre application.

1

Je peux dire comment je l'ai fait sur pastebin.com

  • DNS générique fait * .pastebin.com aller à une seule adresse IP
  • Par défaut, si Apache ne peut pas trouver un serveur virtuel correspondant pour un domaine donné, le premier vhost défini le ramasse (il y a d'autres façons d'y parvenir, c'est exactement ce que j'ai fait).
  • J'assurer le site Pastebin est le premier serveur virtuel, et donc alors le logiciel voit alors le nom d'hôte demandé et agit en conséquence sur lui-même pour configurer
+0

Merci. Comment a traité avec www. et aucun autre www. sous-marins? Je suppose que ass *. Mydomain.com suggère, www.mondomaine.com devrait être exclu en faisant le truc générique? – Shawn

Questions connexes