Wie kann ich eine Subdomain in einer asp.net C# -Anwendung erstellen? Ich arbeite mit einem asp.net Portal. In diesem Portal muss ich in der Lage sein, die Subdomain zur Laufzeit zu erstellen. Das ftp für diese Subdomain muss auch mit der Hauptdomäne ftp übereinstimmen.Wie kann ich eine Subdomain in asp.net erstellen?
Antwort
Subdomains werden von Ihren DNS-Einstellungen gesteuert. Darüber hinaus kann ich deine Frage nicht verstehen.
Ich denke, der beste Weg ist, einen Platzhalter-DNS-Eintrag zu haben - d. H. * .domain.com, der auf die Domäne zeigt. Verwenden Sie dann ein Überschreibungstool wie helicontech.com, um den ersten Teil der Subdomain neu zu schreiben, um Ihrer App mitzuteilen, was Sie gerade sehen.
Diese reguläre Ausdrücke verwenden, würde die Sub-Domain, um Ihre Anwendung zu übergeben:
RewriteCond Host: (. *)? (Mysub) .domain.com RewriteRule/$ 2 Sub-Domain = $ 1 [I, L, U]
Es gibt zwei Hälften: A) Ändern Ihrer DNS-Einstellungen: Dies variiert je nach Ihrem Host und was nicht. Kontaktiere sie und frage, ob du es nicht herausfinden kannst.
B) Ändern der Host-Einstellungen: Dies hängt von Ihrem Server ab. Ich nehme an, dass Sie eine Version von IIS verwenden.
In IIS6 können Sie mit der rechten Maustaste auf eine Website klicken, die Eigenschaftenseite auswählen, zur Registerkarte Website gehen, Erweitert bei der Websiteidentifikation auswählen und Bindungen hinzufügen (Normalerweise verwenden Sie die Standardadresse oder die IP-Adresse) IP-Adresse, 80 für TCP-Port (außer SSL) und die Site für die Host-Header-Datei (z. B. www.example.com oder subdomain.example.com)
In IIS7 klicken Sie mit der rechten Maustaste auf eine Website und wählen Sie Bindings bearbeiten, dann klicken Sie auf "Hinzufügen". IIS7 Add Bildschirm ist ziemlich selbsterklärend.
Es gibt eine Handvoll von Arbeitsteilen hier.Es klingt wie die Voraussetzung ist, dass dies alles zur Laufzeit passieren.Ich bin sicher eine Menge Web Hosting-Provider sind tief in diese Probleme und wahrscheinlich benutzerdefinierte Lösungen haben.
DNS: Sie müssen eine API auf dem DNS-Host geöffnet haben. Wenn es sich um eine LAN-Umgebung handelt, müssen Sie Ihren DNS-Anbieter überprüfen, ob APIs verfügbar sind. (d. h. Windows Server oder was auch immer Ihr Netzwerkbetriebssystem ist). Wenn es sich um eine öffentlich zugängliche Website handelt, auf die über das Internet zugegriffen werden muss, müssen Sie diese APIs vom DNS-Registrator beziehen. Sind die Subdomains permanent?
IIS: Sie müssen Wildcard-Mapping einrichten, (d. H. * .mydomain.net). Wenn eine HTTP-Anforderung eingeht, kann die Logik in der ASP.NET-Seite die Subdomäne bestimmen, mit der Sie arbeiten. Sie könnten die Subdomäne extrahieren, eine Suche in dieser Subdomäne durchführen, um weitere Informationen zu erhalten (CustomerID, Namen, gültige IP-Adressbereiche der Besucher, whathaveyou).
FTP: Wenn Sie sichere Logins für diese Subdomain benötigen, müssen Sie AD- oder lokale Computerkonten für diese Benutzer erstellt haben. Wenn du anonymen Zugang willst, ist das auch in Ordnung. Es gibt einige Skriptoptionen, die Sie sich anschauen müssen, um auch diesen FTP-Ordner einzurichten. Angenommen, Sie verwenden das FTP-Modul von IIS. Wenn Sie eine FTP-Anwendung eines Drittanbieters verwenden, wird das Szenario noch komplizierter. Ihre APIs müssten untersucht werden.
Active Directory: Wenn Sie für jede Subdomäne einen sicheren Zugriff benötigen, müssen Sie AD-Benutzer und/oder Gruppen erstellen. Sie können die Erstellung von Benutzern in Gruppen schreiben. Vielleicht sind die Benutzer lokal für Ihren Webserver. Das skaliert nicht gut, wenn Sie einen anderen Webserver hinzufügen möchten, aber es ist sicherlich machbar.
Ah, schlag mich auch um 48 Sekunden: P –
Ich denke, er möchte eine Subdomain aus Code erstellen, mit einer API, die wahrscheinlich von seinen Webhost-Leuten zur Verfügung gestellt werden muss. Wie seine eigene DNS Manager App. Wenn ich deine Frage falsch interpretiert habe, dann schätze ich, dass du wahrscheinlich ein bisschen mehr wiederholen solltest.
Sprechen Sie über das Erstellen einer Sub-Domain auf Ihrer App/Web-Server? Ist das IIS? Ich denke, es könnte hilfreich sein, wenn Sie Hintergrundinformationen bereitstellen. –