Subdomains Druckversion
Subdomains einrichten
ohne viel Aufwand
Do, 11.04.2002
Autor: Olaf Lüder

Überblick

Wir möchten Ihnen heute einen ISAPI-Filter vorstellen, der es Ihnen ermöglicht, auf Ihrem IIS Subdomains zu nutzen, ohne diese einzeln konfigurieren zu müssen. Wenn Sie im IIS Subdomains einrichten möchten, müssen Sie normalerweise wenigstens den entsprechenden Host-Header zu Ihrer Web-Site hinzufügen. Bei einer großen Anzahl von Domains kann dies einen beträchtlichen Aufwand bedeuten. Obwohl sich der Vorgang automatisieren läßt, ist es dennoch nicht möglich, beliebige Subdomains anzusprechen, da die Host-Header keine Wildcards unterstützen.
Nachteilig wirkt sich dabei zudem aus, dass Sie über alle Domains die selben Verzeichnisse und Dokumente ansprechen. Möchten Sie jeder Subdomain ein eigenes Verzeichnis zuordnen, so muss dafür jeweils eine eigenständige Web-Site angelegt werden.

Mit Hilfe des in diesem Beitrag vorgestellten Filters ist es möglich, beliebige Subdomains ohne weitere Konfiguration auf Verzeichnisse der Web-Site abzubilden - es ist weder notwendig, die Host-Header zur Web-Site hinzuzufügen noch getrennte Sites anzulegen.

Was ist möglich?

Sie können mit Hilfe des Filters einzelnen Subdomains beliebige Verzeichnisse der Website zuordnen, so wird z.B. über den folgenden Eintrag in der Konfigurationsdatei

sub1.nogetec.de=nogetec.de/subdomain1

die Subdomain 'sub1.nogetec.de' auf das Verzeichnis 'subdomain1' der Domain 'nogetec.de' abgebildet.

Darüberhinaus ist es möglich, durch den Einsatz von Wildcards, beliebige Subdomains auf gleichnamige Verzeichnisse der Hauptdomain verweisen zu lassen:

*.nogetec.de=nogetec.de/*

Hierbei erfolgen z.B. folgende Ersetzungen:

subdomain1.nogetec.de=nogetec.de/subdomain1
subdomain2.nogetec.de=nogetec.de/subdomain2
subdomain3.nogetec.de=nogetec.de/subdomain3

Die beiden Möglichkeiten lassen sich natürlich auch kombinieren, auf diese Weise können Sie z.B. alle noch nicht vergebenen Subdomains auf ein spezielles Verzeichnis zeigen lassen, in dem sich die Anwender diese dann registrieren lassen können:

subdomain1.nogetec.de=nogetec.de/subdomain1
subdomain2.nogetec.de=nogetec.de/subdomain2
subdomain3.nogetec.de=nogetec.de/subdomain3
*.nogetec.de=nogetec.de/registrierung

Installation

Der hier vorgestellte Filter wurde in Delphi programmiert und steht Ihnen im Quelltext sowie als kompilierte DLL zur Verfügung.
Laden Sie sich das zip-Archiv herunter, entpacken Sie dieses und kopieren Sie anschließend die Dateien Subdomains.dll und Subdomains.ini in ein beliebiges Verzeichnis. Wählen Sie in der IIS-MMC den gewünschten Host aus, gehen Sie unter Eigenschaften | ISAPI-Filter auf hinzufügen und tragen Sie unter Filtername 'Subdomains sowie unter 'Ausführbare Datei' den vollständigen Pfad zur DLL ein.

Konfiguration

Zur Konfiguration dient die Datei Subdomains.ini, die sich im gleichen Verzeichnis wie die DLL befinden muss. Die Datei enthält zwei Abschnitte: '[Config]' zum Festlegen allgemeiner Konfigurationsdaten sowie '[Mapping]' zum Festlegen der eigentlichen Abbildungen.
Im Bereich '[Config]' sind standardmäßig folgende Werte eingestellt, die auch benutzt werden, falls einzelne Einträge fehlen:

[Config]
Requery=60
Logging=1

Requery
Bestimmt das Zeitintervall in Sekunden, nach dem das Inifile auf Änderungen geprüft und ggfs. neu geladen wird, bei einem Wert von 0 findet keine Überprüfung statt.

Logging (1=aktiviert, 0 =deaktiviert)
Bei aktiviertem Logging werden alle vom Filter vorgenommenen Abbildungen in der Datei 'Log.txt' im Verzeichnis des Filters protokolliert. Dies wirkt sich negativ auf die Performance aus, erleichtert aber ggfs. die Fehlersuche.

Im Abschnitt '[Mapping]' werden die eigentlichen Abbildungen festgelegt, jede Zeile muss genau einen Eintrag enthalten. Sie können hier beliebig viele Abbildungen festlegen, beachten Sie jedoch, dass diese sequentiell durchsucht werden müssen - es sollten daher nicht allzu viele sein. Eine Abbildung muss in der Form

subdomain1.domain.tld=domain.tld/Path/

angegeben werden. Darüberhinaus besteht, wie bereits beschrieben, die Möglichkeit, den Subdomainnamen durch ein Wildcard zu ersetzen. In diesem Fall kann auch im Pfadnamen ein Wildcard verwendet werden, dieses wird dann durch den jeweiligen Namen der Subdomain ersetzt.
Wenn Sie beispielsweise folgende Abbildung

*.nogetec.de=nogetec.de/subdomains/*

in der Konfigurationsdatei festlegen, werden folgende Konvertierungen vorgenommen:

sub1.nogetec.de/test1/seite1.asp => nogetec.de/subdomains/sub1/test1/seite1.asp
sub2.nogetec.de/test2/seite2.asp => nogetec.de/subdomains/sub2/test2/seite2.asp


Fragen, Anregungen

Wenn Sie Fragen oder Anregungen zu diesem Beitrag haben, wenden Sie sich bitte direkt an den Autor, die E-Mail-Adresse finden Sie am Anfang des Artikels.

© 2001, 2002 NOGETEC GmbH - Alle Rechte vorbehalten. - Impressum
Der Inhalt dieser Seiten ist urheberrechtlich geschützt. Texte, Grafiken und Dateien dürfen ohne unsere schriftliche Genehmigung - auch auszugsweise - nicht kopiert, vervielfätigt oder vertrieben werden.
Übersicht
13 Beiträge
in 11 Kategorien

ASP classic (7)
ASP.NET (0)
Komponenten (2)
ISAPI-Filter (4)
Konfiguration (0)
No more Cookies
ASP Sessions
ohne Sitzungscookies

Sie nutzen das integrierte Session-Objekt?
Ihre Kunden akzeptieren aber keine Cookies?

Wir haben die Lösung...
Load me up
ASP Fileupload
ohne Komponenten

Sie möchten Dateien auf den Server heraufladen,
ohne Komponenten zu installieren?

Gar kein Problem...
Little Secrets
Dateinamen & Parameter
im URL verbergen

Verschiedene Pfade auf eine Datei abbilden...?
Skriptnamen weglassen, Parameter verstecken...?

So funktioniert's ...
Lost in Space
Recordsets
auf Abwegen

Sie nutzen Datenbanken & ADO-Recordsets...?
Die Performance ist aber nicht befriedigend...?

Dann lesen Sie weiter...
Subdomains
Subdomains einrichten
ohne viel Aufwand

Sie möchten Subdomains verwenden, mit eigenen Verzeichnissen aber ohne extra Host-Header oder Web-Sites einzurichten?

Wir zeigen Ihnen wie...