Platzhalter-DNS und dynamische Subdomains

In meiner ganzen Freizeit (ha!) Habe ich daran gearbeitet, das zu verpacken Wild Birds Unlimited Karte Anwendung mit einer Unternehmensanwendung, mit der Benutzer ihren eigenen Filialfinder entwerfen können. Die Entwicklung meiner eigenen Software as a Service-Lösung ist seit einigen Jahren ein Ziel von mir, und dies ist eine großartige Gelegenheit.

Es gibt zwei wichtige Funktionen von der Stange, die ich in die Anwendung aufnehmen wollte, die sich als große Herausforderung herausstellen. Deshalb wollte ich sie für den Fall diskutieren, dass Sie jemals das Gleiche tun möchten. Beide Funktionen sind in allen Anwendungen üblich, aber ich habe festgestellt, dass viele Hosting-Anbieter sie nicht unterstützen, obwohl sie alltäglich sind!

Mein Ziel ist es, eine Self-Service-Anwendung zu erstellen, in der der Client seine eigene Subdomain konfigurieren kann (http://Subdomain.myapplicationdomain.com) oder wenden sogar ihre eigene Subdomain an (http://Subdomain.IhreDomain.com). Damit es sich um einen Self-Service handelt, muss die Lösung programmiert werden können. Es wird jedoch auf einige Konfigurationsdateien für Domain Name Server zugegriffen, die bei den meisten Hosting-Konten nicht zulässig sind. Das Problem ist die Unterstützung von Wildcard-DNS, dh, dass jede Subdomain auf die Domäne des Servers verweisen kann. Mit anderen Worten, test.domain.com oder www.domain.com oder any.domain.com verweisen alle auf denselben Ort. Egal was Sie schreiben - es wird funktionieren.

Außerhalb von Anwendungen ist dies eine ziemlich nette Funktion, die aktiviert werden muss - sogar auf deinem Blog. Es würde jedem erlauben zu schreiben etwas.IhreDomain.com und bring sie zu yourdomain.com. Sie wären überrascht, wie viele schlechte Links auf Ihren Blog oder Ihre Website verweisen. Dies könnte ein verpasster Verkehr sein, wenn die Person nicht erkennt, dass es sich um einen Fehler mit dem Link handelt.

Der Prozess funktioniert, indem die Subdomain in einen Querystring umgeschrieben wird, bevor die Seite tatsächlich vom Webserver gerendert wird. Subdomain.domain.com wird also von Apache-Servern mithilfe einer htaccess-Datei als domain.com?what=subdomain interpretiert:

# Extrahieren Sie den Subdomain-Teil von domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Stellen Sie sicher, dass der Subdomain-Teil nicht www und ftp and mail ist
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Leiten Sie alle Anfragen an ein PHP-Skript um, das als Argument die Subdomain übergibt
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Es gibt einige zusätzliche Informationen zu den Dateien, die Sie bearbeiten müssen V-nessa.net. Beachten Sie, dass sich die Dateien je nach Hosting-Anbieter möglicherweise nicht an den angegebenen Stellen befinden. Mein Hosting-Anbieter unterstützt die Einmischung von Leuten sehr, warnt jedoch davor, dass dies den Kundensupport ungültig machen könnte. Sie hacken nicht nur auf eigenes Risiko, sondern helfen Ihnen auch nicht weiter.

Ich werde daran arbeiten, den Rest der Anwendung zu entwickeln, anstatt mich auf die Entwicklung der Subdomain einzulassen. Ich werde tatsächlich geben KuchenPHP ein Schuss als Rahmen dafür!

Letzte Anmerkung, ich bin ein bisschen ein Hack auf dieses Zeug. Ich bin mit Entwicklungsteams bei meiner Arbeit gesegnet, um dieses Zeug herauszufinden. Allein bin ich ein bisschen gefährlich. Jedes Feedback und jede Hilfe wird geschätzt!

3 Kommentare

  1. 1

    Sehr cool. Ich habe tatsächlich den Nameserver meines Registrars mit Platzhalter-DNS verwendet, als ich mit SliceHost war, und Apache so konfiguriert, dass nicht konfigurierte Subdomains aus den regulären Domänendateien bereitgestellt werden.

    Ich war wirklich fasziniert von dem CakePHP-Framework, aber Ihr Link ist tot 🙂

    CakePHP finden Sie unter http://cakephp.ORG

    • 2

      Ich habe darüber nachgedacht, auch den Registrierungsweg zu gehen, Alex. Das ist eine großartige Idee - wahrscheinlich der beste Weg, damit umzugehen.

      Entschuldigung für den toten Link - er ist jetzt behoben.

  2. 3

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.