Weiterleitung von alten Webanwendungsadressen: URL Rewrite
avatar

Viele SharePoint Umgebungen sind mit internen URLs oder Hostnamen gestartet. Die Verwendung von http://Intranet.Firma.intern oder http://intranet für die ersten SharePoint Seiten sollte dem ein oder anderen bekannt vorkommen. Bei einer reinen internen Verwendung funktioniert das auch wunderbar, bis die SharePoint Seiten von Extern erreichbar werden sollen.

Viele erweitern darauf ihre Webanwendungen um eine Zone mit einer öffentlichen URL. Nach kurzer Zeit stellt man dann Fest, dass unterschiedliche Adressen von Intern und Extern eher unpraktisch sind, Absolute Links innerhalb der Navigation von extern nicht funktionieren und die Anwender über das Verhalten nicht gerade glücklich sind. Vom zusätzlichen Support Aufkommen ganz zu schweigen.

Idealerweise verwendet man also eine öffentliche Adresse intern wie extern. So wird dann aus http://intranet oder http://intranet.Firma.intern eine https URL wie https://intranet.firma.de.
Was passiert nun mit all den Links und Favoriten die noch auf den alten Namen zeigen? Diese zeigen nach der Umstellung im Browser ein 404 Not Found oder funktionieren nicht richtig. Der harte Einschnitt bringt die Anwender dazu ihre Favoriten zu aktualisieren, kommt aber Hand in Hand mit einem größeren Support Aufkommen in der IT Abteilung.

Eine automatische Weiterleitung der alten Adresse auf die Neue kann einen Großteil dieser Anfragen abfangen. Dabei soll die Weiterleitung nur den FQDN innerhalb der Adresse auswechseln, damit der restliche Pfad erhalten bleibt. Die integrierte Funktion des IIS Redirect leitet immer alle Anfragen auf die gleiche URL um. Um unsere Anforderungen abzudecken greifen wir zu dem IIS Modul URL Rewrite 2.0, dies muss auf jedem SharePoint Server installiert werden. Um die Web.Config der SharePoint Webanwendungen nicht anzupassen werden alle Weiterleitungen auf der Default Webanwendung des IIS konfiguriert.

Hier ein Beispiel zur Konfiguration:

  1. Installation des URl Rewrite Moduls (Download Link)
  2. Nach der Installation und einer IIS Mangement Konsolen Neustart finden sie die Option URL Rewrite in jeder Webanwendung.
  3. Öffnen sie die Default Webanwendung und Anschließend die URL Rewrite Funktion
    clip_image002
  4. Fügen sie nun pro Webanwendung eine neue Regel hinzu und wiederholen sie die folgenden Schritte entsprechend
    clip_image002[5]
  5. Fügen sie eine leere Regel hinzu.
    clip_image002[7]
  6. Tragen sie nun einen Anzeigenamen z.B. „Intranet Redirect“ ein. Als Pattern verwenden sie bei jeder Regel (.*) . Unter Conditions wird der Hostheader auf den die Regel reagiert angepasst. Der Input ist {HTTP_HOST}, als Type „Matches the Pattern“ und als Pattern der RegEx begriff ^intranet(.firma.intern)?$ . Dieser Sorgt dafür das die Regel den Begriff “Intranet” erwartet und optional auch auf einen FQDN reagieren würde. Im Abschnitt Action ändern sie den Action Type auf Redirect, und geben als Redirect URL den Stamm der Webanwendung “https://intranet.firma.de” gefolgt von {Request_URI} an damit der angeforderte Pfad im Redirect berücksichtigt wird. Deaktivieren sie die Option „Append Query String“ da wir mit der Variable {Request_URI} diese bereits abdecken.
    image
    image 
  7. Wiederholen sie die Schritte für alle Webanwendungen
  8. Starten sie den IIS einmal neu.

Diese Lösung funktioniert für Aufrufe aus dem Browser oder einzelnen Links zuverlässig. Bei Aufrufen von Webservice Schnittstellen oder programminternen Abfragen aus einem Office Client kann es zu Fehlern kommen, da nicht alle Clients mit einer Redirect Meldung zurecht kommen. Sehen sie diese Lösung als Hilfe bei einer Migration, sie sollten dennoch alle absoluten Links in SharePoint und Drittsystemen anpassen um keine Altlasten mitzuschleppen. Das IIS Log der Default Webanwendung hilft ihnen Systeme, die eine alte URL verwenden, zu identifizieren.

Schreibe einen Kommentar