2009-07-21 13 views
5

Ich baue eine Website, wo Unternehmen in der Lage sein werden, sich für ein eigenes Konto zu registrieren, das sich unter http://businessname.example.com befinden sollte, wobei sich der "Firmenname" jedes Mal ändert.Erstellen von Subdomains bei der Anmeldung

Ich möchte dies auf einem Windows-Server (IIS 7) tun, aber bin mir nicht sicher, wie es geht.

+1

besser geeignet für serverfault, vielleicht? – Joey

+1

nicht so sicher ... der 'server' (iis configuration + scripting) weg ist viel problematischer als der 'stack' (url rewrite) weg. Wenn also die URL neu geschrieben wird, sollte sie hier bleiben. – b0x0rz

Antwort

3

Zuerst müssen Sie Ihren DNS-Server konfigurieren, um * .example.com in die IP Ihres Servers aufzulösen.

Dann haben Sie zwei Möglichkeiten:

  • Jedes Mal, wenn ein neues Konto erstellt wird, auf seinen Host zur Konfiguration von IIS hinzuzufügen, so wird es in ein Verzeichnis gebunden. Ich bin nicht sicher, wie man das programmatisch macht.
  • Jedes Mal, wenn eine Anfrage an den Server gestellt wird, überprüfen Sie den Host und leiten den Client an die Site weiter, die dem Host entspricht. Es kann entweder eine explizite Umleitung sein (der Client kommt auf http://businessname.domain.com/ und wird zu http://sites.example.com/businessname/ umgeleitet) oder implizit (der Client kommt auf http://businessname.example.com/ und intern, die Anwendung befindet sich in einem Verzeichnis für Geschäftsname und behandelt die Anfrage.
5

über http://forums.asp.net/t/874598.aspx

Wenn Ihr DNS-Anbieter (. Dh ISP) "Wildcard" Option können Sie einstellen * .mydomain.com -> MyIP

Nächster Schritt. Option # 1 Erstellen Sie ein Skript, das 1 Sites für jede Subdomain in IIS erstellt Option # 2 Erstellen Sie ein url_rewrite-Skript, das URLs neu schreibt, um Ordner während der Übertragung zu korrigieren.

Option 2 ist wahrscheinlich das, wonach Sie suchen (und wird DRINGEND empfohlen und der Option 1 vorgezogen).

weitere Informationen über URL auf iis7 Umschreiben: http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

Die Microsoft URL Rewrite Modul für IIS 7.0 bietet flexible regelbasierte Rewrite-Engine>, das breite Spektrum der URL-Manipulation Aufgaben verwendet werden können, durchzuführen, einschließlich, aber nicht begrenzt auf:

  • Aktivieren benutzerfreundliche und suchmaschinenfreundliche URL mit dynamischen Webanwendungen;
  • Umschreiben von URLs basierend auf HTTP-Headern und Servervariablen;
  • Inhaltsbehandlung von Websites;
  • Steuern des Zugriffs auf Website-Inhalte basierend auf URL-Segmenten oder Metadaten anfordern.

die Option URL Rewriting macht es einfach, Hunderttausende von Unternehmen haben, können ihre Namen aus der Datenbank und einer URL Rewrite die Umleitungen werden handhaben zu lesen. Danach können Sie es (größtenteils) vergessen, da es für alle Unternehmen, die sich auch in Zukunft anmelden, weiterarbeiten wird.

0

Dies beinhaltet:

  • Wildcard DNS Mapping
  • Verwenden des IIS-API Host-Namen zu einer Domäne zum Beispiel hinzufügen businessname.domain.com
  • programatic Identitätswechsel (wie der Code eine höhere priveledge muss den IIS-API als nur NETWORK SERVICE

Sobald Sie programmatisch die Host-Namen es das Wildcard-Mapping ermöglicht hinzufügen zu verwenden, gelöst werden.

die URL Rewrite Option wäre sauber, aber mit der physischen Domäne, können Sie FTP-Zugriff und andere Dinge bieten, da es eine vollständige Domain

Andrew

3

G wäre. Im Allgemeinen besteht der bessere Ansatz darin (wenn möglich), für jede Anmeldung keine Host-Header oder separate IIS-Sites zu verwenden. Weisen Sie der Anwendung einfach eine IP-Adresse zu, die auf alle Anfragen an Port 80 (oder an den von Ihnen verwendeten Port) antwortet und Ihre Anwendung den Host-Header auf Anfrage erkennt. Auf diese Weise haben Sie bei 1.000 Anmeldungen nicht 1.000 "Dinge", die auf der Ebene des Betriebssystems/Services richtig konfiguriert werden müssen.

Alternativ, wenn Sie nur den Code wollen, nicht sicher, welche Sprache Sie betrachten, aber unten für C# sehen ...

http://forums.iis.net/t/1151463.aspx

Verwandte Themen