Jokertecken DNS och dynamiska underdomäner

Under hela min fritid (ha!) Har jag jobbat med att packa in Wild Birds obegränsad karta applikation med en företagsapplikation som gör det möjligt för människor att designa sin egen butikslokalisator. Att utveckla min egen mjukvara som en servicelösning har varit ett mål för mig i ett par år, och det här är ett fantastiskt tillfälle.

Det finns två viktiga funktioner från hyllan som jag ville lägga in i applikationen som visar sig vara en stor utmaning så jag ville diskutera dem om du någonsin vill göra detsamma. Båda funktionerna är vanliga i alla applikationer, men jag har upptäckt att trots att de är vanliga stöder många webbhotell faktiskt inte dem!

Mitt mål är att bygga en självbetjäningsapplikation där klienten kan konfigurera sin egen underdomän (http://subdomäner.myapplicationdomain.com), eller till och med tillämpa sin egen underdomän (http://subdomäner.din domän.com). För att den ska vara självbetjäning kräver det förmågan att programmera lösningen - men den får åtkomst till vissa konfigurationsfiler för domännamnsserver som inte är begränsade för de flesta värdkonton! Frågan är support för Wildcard DNS, det vill säga att kunna peka vilken underdomän som helst till servern. Med andra ord, test.domän.com eller www.domain.com eller any.domain.com pekar alla på samma plats. Oavsett vad du skriver - det fungerar.

Utanför applikationer är detta faktiskt en ganska trevlig funktion att ha aktiverat - även på din blogg. Det skulle göra det möjligt för alla att skriva något.din domän.com och ta dem till yourdomain.com. Du skulle bli förvånad över hur många dåliga länkar det finns som pekar till din blogg eller webbplats. Det kan missas trafik om personen inte känner igen att det är ett fel med länken.

Processen fungerar genom att skriva om underdomänen till en frågesträng innan sidan faktiskt återges av webbservern ... så subdomän.domän.com tolkas faktiskt av Apache-servrar som domain.com?what=subdomain genom användning av en htaccess-fil:

# Extrahera underdomändelen av domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \ Din domän \ .com $ [NC]
 
# Kontrollera att underdomänen inte är www och ftp och mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Omdirigera alla förfrågningar till ett php-skript som skickar som argument underdomänen
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Det finns ytterligare information om de filer du behöver redigera på V-nessa.net. Observera att filerna kanske inte finns där de anges beroende på din webbhotell. Min värdleverantör stöder faktiskt folk som blandar sig, men de varnar för att detta kan ogiltigförklara kundsupport. Förutom att "hacka på egen risk" kommer de inte heller att nå ut för att hjälpa dig.

Jag ska jobba med att utveckla resten av applikationen snarare än att hänga på underdomänutvecklingen. Jag ska faktiskt ge CakePHP ett skott att använda som ram för det!

Sista anmärkningen, jag är lite hack på de här sakerna. Jag är välsignad med utvecklingsteam i mitt arbete för att räkna ut det här. På egen hand är jag lite farlig. All feedback och hjälp uppskattas!

3 Kommentarer

  1. 1

    Väldigt coolt. Jag använde faktiskt min registrars namnserver med jokertjänst-DNS när jag var hos SliceHost och hade Apache konfigurerad för att servera okonfigurerade underdomäner från de vanliga domänfilerna.

    Jag blev väldigt intresserad av att titta på CakePHP-ramverket, men din länk är död 🙂

    CakePHP finns på http://cakephp.ORG

    • 2

      Jag tänkte också på att gå på registreringsvägen, Alex. Det är en bra idé - förmodligen det bästa sättet att hantera detta.

      Ledsen för den döda länken - den är fixad nu.

  2. 3

    lyckades du hitta en leverantör som tillåter dig att göra detta? (utom genom att hyra en dedikerad server)

Vad tror du?

Den här sidan använder Akismet för att minska spam. Läs om hur din kommentardata behandlas.