Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
Caleb Elston
Caleb Elston

Cum de a crea conturi de utilizator subdomeniu într-un webapp

Caut pentru a permite utilizatorilor să controleze subdomeniul unei aplicații cu care mă joc, la fel ca Basecamp unde este customusername.seework.com .

Ce este necesar în capătul DNS pentru a permite ca acestea să fie create dinamic și să fie disponibile instantaneu.

Și cum vă recomandăm să vă ocupați de acest lucru în logica site-ului? Htaccess pentru a căuta subdomeniul în DB ?

23 2008-08-04T12:22:07+00:00 4
Programare
account
dns
subdomain
web-applications
Comentarii la întrebare (0)
Dave Ward
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#1185

Succesul este acela de a utiliza rescrierea URL-ului, astfel încât name.domain.com să fie hărțuită în mod transparent în ceva de tipul domain.com/users/name pe serverul dvs. Odată ce începeți această cale, este destul de banal să implementați.

0
0
Comentarii (0)
lubos hasko
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#1187

Nu vă faceți griji cu privire la rescrierea DNS și URL-ul

Înregistrarea dvs. DNS va fi statică, cum ar fi:

*.YOURDOMAIN.COM A 123.123.123.123

Cereți-i furnizorului DNS să facă acest lucru pentru dvs. (dacă nu este deja făcut) sau să o faceți singur dacă aveți control asupra înregistrărilor dvs. DNS. Aceasta va indica automat toate subdomeniile dvs. (curente și viitoare) în același server HTTP.

Odată ce ați terminat, va trebui doar să analizați antetul HOST pe fiecare solicitare http pentru a detecta ce nume de gazdă a fost folosit pentru a accesa scripturile de pe server de pe serverul http.

Presupunând că folosiți ASP.NET, acest lucru este un exemplu de prostie pe care am venit, dar operează și demonstrează simplitatea acestei abordări:

<%@ Language="C#" %>
<%
string subDomain = Request.Url.Host.Split('.')[0].ToUpper();
if (subDomain == "CLIENTXXX") Response.Write("Hello CLIENTXXX, your secret number is 33");
else if (subDomain == "CLIENTYYY") Response.Write("Hello CLIENTYYY, your secret number is 44");
else Response.Write(subDomain+" doesn't exist");
%>
0
0
Comentarii (0)
Mat
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#1232

Modul în care facem acest lucru este să avem un "captură totală" pentru numele de domeniu înregistrat în DNS, astfel încât anything.ourdomain.com să indice către serverul nostru.

Cu Apache puteți configura o captură similară pentru toate vhosts. ServerName trebuie să fie un singur nume static, dar directiva ServerAlias ​​poate conține un model.

Servername www.ourdomain.com
ServerAlias *.ourdomain.com

Acum toate domeniile vor declansa vhost-ul pentru proiectul nostru. Partea finală este de a decoda numele de domeniu utilizat efectiv, astfel încât să puteți elabora numele de utilizator în codul dvs., ceva de genul (PHP):

list( $username ) = explode( ".", $_SERVER[ "HTTP_HOST" ] );

sau un RewriteRule, așa cum a sugerat deja că în mod silențios hărți user.ourdomain.com/foo/bar la www.ourdomain.com/foo/bar?user=user sau orice doriți.

0
0
Comentarii (0)
Jamie
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#1555232

M-am uitat să fac ceva similar ( www.mysite.com/SomeUser ).

Ceea ce am făcut a fost că am editat 404.shtml pentru a include acest cod server (SSI):