Dateien aus einem Unterordner in IIS6 bereitstellen: Eine einfache Lösung
Bei der Verwaltung einer Website mit mehreren Teams, die Inhalte bereitstellen, kann es eine Herausforderung sein, alles organisiert zu halten. Dies gilt insbesondere, wenn Sie mit einem älteren Server wie IIS 6 arbeiten. Ein häufiges Szenario tritt auf, bei dem Entwickler eine klare Trennung zwischen Entwicklungscode und Geschäftsinhalten auf den Webseiten aufrechterhalten möchten, während gleichzeitig ein einfacher Zugang für Benutzer sichergestellt wird. Dieser Blogbeitrag führt Sie durch den Prozess, wie Sie Webseiten aus einem Unterordner bereitstellen können, ohne dass Änderungen an den URLs erforderlich sind!
Die Herausforderung
Stellen Sie sich vor, Ihre Webseitenstruktur sieht so aus:
- Wurzel: Enthält Seiten und Ressourcen für das Entwicklungsteam.
- Inhalte: Ein Unterordner, der dem Geschäftsteam zugewiesen ist, um einfache Webseiten hochzuladen.
Das Problem ist, dass Sie möchten, dass Benutzer direkt auf die Webseiten des Geschäftsteams zugreifen, ohne /Inhalte
an die URLs anhängen zu müssen. Zum Beispiel:
- Benutzer möchten besuchen:
www.oursite.com/popcorn.aspx
- Anstatt zu gehen zu:
www.oursite.com/Inhalte/popcorn.aspx
Die Lösung: URL-Umschreibung verwenden
Um dieses Ziel zu erreichen, können Sie das ISAPI Rewrite Module verwenden, das in IIS 6 verfügbar ist. Damit können Sie Regeln erstellen, die Anfragen für bestimmte Dateien im Wurzelverzeichnis an die entsprechenden Dateien im Unterordner umleiten.
Hier sind die Schritte im Detail:
-
ISAPI Rewrite installieren: Wenn Sie dies noch nicht getan haben, stellen Sie sicher, dass das ISAPI Rewrite-Tool auf Ihrem IIS 6-Server installiert ist.
-
Umschreiberegeln erstellen: Sie müssen Regeln in Ihrer Konfigurationsdatei hinzufügen, um Ihren Server anzuweisen, im Inhaltsordner zu suchen, wenn eine Anfrage für eine bestimmte Datei gestellt wird. Hier sieht die grundlegende Syntax folgendermaßen aus:
RewriteCond %{REQUEST_FILENAME} -!f RewriteCond Inhalte/%{REQUEST_FILENAME} -f RewriteRule (.*) Inhalte/(.*)
Verständnis des Codes
- RewriteCond %{REQUEST_FILENAME} -!f: Diese Bedingung prüft, ob der angeforderte Dateiname nicht mit einer vorhandenen Datei im Wurzelverzeichnis übereinstimmt.
- RewriteCond Inhalte/%{REQUEST_FILENAME} -f: Diese Bedingung prüft, ob die angeforderte Datei tatsächlich im Unterordner Inhalte existiert.
- RewriteRule (.) Inhalte/(.): Wenn beide Bedingungen erfüllt sind, wird diese Regel die URL umschreiben, um den Inhalt aus dem Inhaltsordner zu ziehen.
- Testen: Nach der Konfiguration der obigen Regeln ist es wichtig, die Einrichtung zu testen. Navigieren Sie direkt zu den Webseiten aus Ihrem Browser, als wären sie im Wurzelverzeichnis. Versuchen Sie beispielsweise, auf
www.oursite.com/popcorn.aspx
zuzugreifen, und sehen Sie, ob der Inhalt vonwww.oursite.com/Inhalte/popcorn.aspx
ohne Probleme bereitgestellt wird.
Vorteile dieses Ansatzes
- Nahtloses Benutzererlebnis: Benutzer können auf die Seiten des Geschäftsteams zugreifen, ohne sich die spezifische Ordnerstruktur merken zu müssen.
- Organisatorische Klarheit: Entwickler- und Geschäftsteams können unabhängig arbeiten, ohne sich gegenseitig bei den Dateien in die Quere zu kommen.
- Einfache Wartung: Das Organisieren von Inhalten in Unterordnern erleichtert die Wartung und Aktualisierung.
Fazit
Die Verwendung des ISAPI Rewrite Module in IIS 6 ermöglicht es Ihnen, benutzerfreundliche URLs zu aktivieren, während Sie ein strukturiertes Inhaltsverzeichnis aufrechterhalten. Mit den oben bereitgestellten einfachen Umschreiberegeln können Sie sicherstellen, dass alle Inhalte leicht zugänglich sind, ohne die organisatorischen Bedürfnisse zu beeinträchtigen.
Viel Spaß beim Codieren, und mögen Ihre URLs immer benutzerfreundlich sein!