Gérer un sous-domaine par client

Vous avez sans doute remarqué que dans les applications de 37signals, les créateurs de Rails, vous devez choisir un nom de sous-domaine qui vous servira comme point de départ au moment de la connexion.

Par exemple : masociete.basecamphq.com

Je me suis longtemps demandé comment celà était possible : la déclaration d’un sous-domaine relevait pour moi de la bidouille du DNS, et vu les temps de mise à jour, je croyais à l’opération du Saint-Esprit.

Je vous rassure, il n’en est rien, et au détour d’un fil de discussion, j’ai découvert la solution, qui comme souvent sous Rails, est toute simple.

Il suffit d’ajouter dans le controlleur ApplicationController :

before_filter { |c| c.account =
Account.find_by_subdomain(c.request.subdomains.first) }

Vous devez avoir paramétré votre serveur Web de manière à rediriger tous les sous-domaines vers votre application Rails (par exemple pour Apache dans la configuration du vhost ServerName *.example.com). Vous devez également avoir une table accounts comportant une colonne subdomain.

La référence originale en cliquant ici.

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *