Wildcard DNS en dinamiese subdomeine

In al my vrye tyd (ha!) Het ek gewerk om die Wild Birds Onbeperkte kaart toepassing met 'n ondernemingstoepassing wat mense in staat stel om hul eie winkelopspoorder te ontwerp. Die ontwikkeling van my eie sagteware as 'n diensoplossing is al 'n hele paar jaar 'n doel van my, en dit is 'n wonderlike geleentheid.

Daar is twee sleutelfunksies wat ek in die toepassing wil hê, wat 'n groot uitdaging is, en daarom wil ek dit bespreek as u ooit dieselfde wil doen. Albei funksies kom algemeen voor in alle toepassings, maar ek het agtergekom dat alhoewel dit alledaags is, baie hosting-aanbieders dit nie ondersteun nie!

My doel is om 'n selfdiens-toepassing op te stel waar die kliënt hul eie subdomein kan instel (http://subdomein.myapplicationdomain.com), of selfs hul eie subdomein toepas (http://subdomein.ditdomein.com). Om selfdiens te kan maak, is dit die vermoë om die oplossing te programmeer - maar dit het toegang tot sommige konfigurasielêers van die domeinnaambediener wat buite die limiet is by die meeste hosting-rekeninge! Die probleem is ondersteuning vir Wildcard DNS, dit wil sê om enige subdomein op die domein van die bediener te kan wys. Met ander woorde, test.domain.com of www.domain.com of any.domain.com wys almal op dieselfde plek. Maak nie saak wat jy skryf nie - dit sal werk.

Buiten toepassings, is dit eintlik 'n mooi funksie om in te skakel - selfs op jou blog. Dit sal enigiemand in staat stel om te skryf enigiets.ditdomein.com en bring hulle na yourdomain.com. U sal verbaas wees oor hoeveel slegte skakels daar na u blog of webwerf is. Dit kan verkeerd verkeer as die persoon nie besef dat dit 'n fout met die skakel is nie.

Die proses werk deur die subdomein na 'n navraagstring te herskryf voordat die bladsy eintlik deur die webbediener weergegee word ... dus word subdomain.domain.com eintlik deur Apache-bedieners geïnterpreteer as domain.com?what=subdomain deur 'n htaccess-lêer te gebruik:

# Pak die subdomeindeel van domain.com uit
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \ .Domein \ .com $ [NC]
 
# Kontroleer of die subdomeindeel nie www en ftp en e-pos is nie
RewriteCond% 1! ^ (Www | ftp | e-pos) $ [NC]
 
# Herlei alle versoeke na 'n php-script wat as subdomein deurgee
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Daar is 'n paar bykomende inligting oor die lêers waarop u moet wysig V-nessa.net. Let daarop dat die lêers moontlik nie geleë is waar dit gespesifiseer word nie, afhangende van u gasheerverskaffer. My gasheerverskaffer ondersteun eintlik mense wat hulle bemoei, maar hulle waarsku dat dit klanteondersteuning kan benadeel. Behalwe om op eie risiko te kap, gaan hulle ook nie uithelp om u te help nie.

Ek gaan daaraan werk om die res van die toepassing te ontwikkel, eerder as om die ontwikkeling van die subdomein op te hang. Ek gaan eintlik gee CakePHP 'n skoot om as raamwerk daarvoor te gebruik!

Laaste opmerking, ek is 'n bietjie van hierdie dinge. Ek is geseënd met ontwikkelingspanne om my dinge uit te vind. Op my eie is ek 'n bietjie gevaarlik. Enige terugvoer en hulp word waardeer!

3 Comments

  1. 1

    Baie koel. Ek het eintlik die naambediener van my registrateur met wildcard-DNS gebruik toe ek by SliceHost was, en Apache laat instel om ongekonfigureerde subdomeine van die gewone domeinlêers te bedien.

    Ek was regtig geïnteresseerd om na die CakePHP-raamwerk te kyk, maar u skakel is dood 🙂

    CakePHP kan gevind word by http://cakephp.ORG

    • 2
  2. 3

    het u daarin geslaag om 'n verskaffer te vind wat u toelaat om dit te doen? (behalwe deur 'n toegewyde bediener te huur)

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.