Wie kann ich mit IIS6 Dateien in einem Unterordner ablegen, sie aber so bereitstellen, als wären sie im Stammverzeichnis?

StackOverflow https://stackoverflow.com/questions/45796

  •  09-06-2019
  •  | 
  •  

Frage

Auf unserer ASP.NET 3.5-Website, die auf IIS 6 läuft, gibt es zwei Teams, die Inhalte hinzufügen:

  • Entwicklungsteam fügt Code hinzu.
  • Geschäftsteam fügt einfache Webseiten hinzu.

Aus Gründen der Vernunft und Organisation möchten wir, dass das Geschäftsteam seine Webseiten einem Unterordner im Projekt hinzufügt:

Wurzel:für Seiten des Entwicklungsteams

Inhalt:für Seiten des Business-Teams

Aber

Wir möchten, dass Benutzer zu den Inhalten des Geschäftsteams navigieren können, ohne „Inhalt“ an ihre URLs anhängen zu müssen, wie unten beschrieben:

Wurzel:Default.aspx (Verfügbar um:www.oursite.com/default.aspx)

Inhalt:Popcorn.aspx (Verfügbar um:www.oursite.com/popcorn.aspx)

Gibt es eine Möglichkeit, für jede dieser Seiten einen Konfigurationseintrag in einem ISAPI-Rewrite-Tool zu erstellen?

War es hilfreich?

Lösung

Ich habe derzeit keine Möglichkeit, dies zu testen, aber ich denke, Sie können das Flag -f auf RewriteCond verwenden, um zu überprüfen, ob in einem der Verzeichnisse eine Datei vorhanden ist.

RewriteCond %{REQUEST_FILENAME} -!f
RewriteCond Content/%{REQUEST_FILENAME} -f
RewriteRule (.*) Content/(.*)

So etwas könnte auch das bewirken, was Sie suchen.

Andere Tipps

Da es sich bei den Erweiterungen um ASPX handelt, wird ASP.NET die Anfrage entgegennehmen ...Sie können ein HttpModule schreiben, das nach Seiten sucht, die einen 404-Fehler ergeben, und dann auch den Unterordner überprüfen.

Wenn Sie wissen, dass alle Seiten mit einem bestimmten Format aus diesem Ordner stammen, können Sie die URL einfach in ASP.NET umschreiben (entweder in Global.asax oder einem HttpModule).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top