Zamjenski DNS i dinamičke poddomene

U svo svoje slobodno vrijeme (ha!), Radio sam na umotavanju Neograničena karta divljih ptica aplikacija s poslovnom aplikacijom koja će omogućiti ljudima da osmisle vlastiti lokator trgovina. Razvoj vlastitog rješenja kao softverskog rješenja moj je cilj već nekoliko godina, a ovo je izvrsna prilika.

Dvije su ključne značajke s police koje sam želio staviti u aplikaciju i koje su se pokazale velikim izazovom, pa sam želio razgovarati o njima u slučaju da ikada želite učiniti isto. Obje su značajke uobičajene u svim aplikacijama, ali saznao sam da ih, iako su uobičajene, mnogi pružatelji usluga hostinga zapravo ne podržavaju!

Cilj mi je izgraditi samoposlužnu aplikaciju u kojoj klijent može konfigurirati vlastitu poddomenu (http://poddomena.moja aplikacijadomena.com), ili čak primijeniti vlastiti poddomen (http://poddomena.vašadomena.com). Da bi bilo samoposlužno, potrebna mu je mogućnost programiranja rješenja, ali pristupa nekim konfiguracijskim datotekama poslužitelja imena domena koje su zabranjene za većinu računa hostinga! Problem je u podršci zamjenskog DNS-a, odnosno mogućnosti usmjeravanja bilo koje poddomene na domenu poslužitelja. Drugim riječima, test.domain.com ili www.domain.com ili any.domain.com svi upućuju na isto mjesto. Bez obzira što napisali - to će uspjeti.

Izvan aplikacija, ovo je zapravo prilično lijepa značajka koju ste omogućili - čak i na vašem blogu. To bi svima omogućilo da pišu ništa.vašadomena.com i dovesti ih do yourdomain.com. Iznenadili biste se koliko loših veza postoji do vašeg bloga ili web stranice. Promet bi mogao propustiti ako osoba ne prepozna da je riječ o pogrešci s vezom.

Proces funkcionira prepisivanjem poddomene u niz upita prije nego što web poslužitelj stvarno generira stranicu ... tako da poddomena.domena.com Apache poslužitelji zapravo tumače kao domenu.com?what=subdomain pomoću datoteke htaccess:

# Izdvojite dio poddomene domene.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Provjerite da dio poddomene nije www i ftp i mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Preusmjerite sve zahtjeve na php skriptu koja prolazi kao argument poddomene
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Postoje neke dodatne informacije o datotekama na kojima trebate urediti V-nessa.net. Imajte na umu da se datoteke možda neće nalaziti tamo gdje je to određeno, ovisno o vašem davatelju usluge hostinga. Moj pružatelj hosting usluga zapravo podržava miješanje ljudi, ali upozoravaju da bi to moglo ukinuti korisničku podršku. Osim što će "hakirati na vlastiti rizik", ni oni vam neće pružiti pomoć.

Radit ću na razvoju ostatka aplikacije, umjesto da se prekinem s razvojem poddomene. Zapravo ću dati CakePHP snimak koji će se koristiti kao okvir za to!

Posljednja napomena, pomalo sam hakiran u ovim stvarima. Blagoslovljen sam razvojnim timovima na svom poslu da shvatim ove stvari. Sama po sebi, malo sam opasna. Cijenimo bilo kakve povratne informacije i pomoć!

3 Komentari

  1. 1

    Jako cool. Zapravo sam koristio poslužitelj imena svog registrara sa zamjenskim DNS-om kada sam bio sa SliceHostom, a Apache sam konfigurirao za posluživanje nekonfiguriranih poddomena iz običnih datoteka domena.

    Bio sam jako zaintrigiran pogledati CakePHP framework, ali tvoja poveznica je mrtva 🙂

    CakePHP možete pronaći na http://cakephp.ORG

    • 2

      Razmišljao sam i o tome da krenem putem registra, Alex. To je sjajna ideja – vjerojatno najbolji način za rješavanje ovoga.

      Oprostite zbog mrtve veze – sada je popravljeno.

  2. 3

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.