Leistungen
Leistungen
Überblick
Leistungsangebot
Kernkompetenzen
Schulungsthemen
In-House-Schulungen
Offene .NET-Seminare
Offene WPS-Seminare
Beratung
Coaching
Support
Softwareentwicklung
Entwickler-Vermittlung
.NET/Visual Studio
TFS/ALM/Scrum
Webprogrammierung
PowerShell
Konditionen
Anfrage/Kontakt
Beratung/Coaching
Beratung/Coaching
Beratungsthemen
Coaching
Unsere Berater
Referenzkunden
Konditionen
Angebotsanfrage
In-House-Schulungen
In-House-Schulungen
Überblick
Themen/Fachgebiete
Schulungskonfigurator
Konzepte
.NET/Visual Studio
C#
VB.NET
ASP.NET
Moderne Webanwendungen
TFS/ALM/Scrum
PowerShell
Konferenzvortraege
Referenzkunden
Unsere Trainer
Konditionen
Angebotsanfrage
Offene Schulungen
Offene Schulungen
Überblick .NET-Seminare
.NET/C#-Basisseminar
WPF (Desktop)
ASP.NET/AJAX (Web)
WCF/WF (SOA)
ADO.NET/EF (Data)
Windows PowerShell
.NET, C#, VB, Visual Studio
.NET, C#, VB, Visual Studio
Startseite
Beratung/Training
Offene .NET-Seminare
Einführung
Lexikon
Artikel
Bücher
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
World Wide Wings Demo
Codebeispiele
Scripting
ASP.NET
.NET 2.0
.NET 3.0/3.5
.NET 4.0/4.5
Community
Forum
Kommerzielle Leistungen
ASP.NET
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
PowerShell
PowerShell
Überblick
Beratung
In-House-Schulungen
Öffentliche Schulungen
Codebeispiele
Commandlet Extensions
Offene PowerShell-Seminare
Inhouse-Seminare
Windows
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Windows Scripting
Windows Scripting
Startseite
Lexikon
FAQ
Buecher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
Scripting-Tools
WSH-Editoren
Codebeispiele
ASP.NET
.NET-Scripting
Forum
Links
Kommerzielle Leistungen
Service
Service
Website-FAQ
Anmeldung/Login
Leser-Registrierung
Gast-Registrierung
Nachrichten/RSS
Newsletter
Foren
Weblog
Lexikon
Downloads
Support
Kontakt
Literaturtipps
Publikationen
Publikationen
Redaktionsbüro
Bücher
Fachartikel
Leser-Portal
Autoren gesucht!
Rezensionen
Über uns
Über uns
Holger Schwichtenberg
Team
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Site Map
Weitere Websites
Tag Cloud
Impressum
Rechtliches

Webseiten auf andere Seiten umlenken (URL-Remapping)

Die Abbildung einer angefragten URL auf eine andere (interne) URL innerhalb des Webservers nennt man URL-Rewriting oder URL-Remapping. Dabei entsteht ein Alias für eine URL. Es gibt mehrere Gründe dafür, eine URL auf eine andere URL abzubilden:
- Für ausgewählte lange URLs sollen kurze URLs definiert werden, die man leichter auch durch direkte Adresseingabe anwählen kann.
- Eine URL hat sich geändert. Man möchte aber, dass (für eine Übergangszeit) die alten URLs noch zum Ziel führen.
- Parametrisierte Webseiten sollen eine Fassade aus „echten“ URLs erhalten, damit die Seiten in Suchmaschinen besser aufgenommen werden.
- Eine URL enthält Zusatzinformationen (z.B. Authentifizierung), die die korrekte Auflösung der URL auf dem Webserver verhindern würden.

In ASP.NET 1.x war URL-Rewriting nur durch eigenen Programmcode möglich. ASP.NET 2.0 unterstützt URL-Rewriting auch in deklarativer Weise in der web.config-Datei. Dabei können allerdings leider keine regulären Ausdrücke angegeben werden, sodass für jede einzelne Datei eine statische Umleitung definiert werden muss.

<urlMappings enabled="true">
   <add url="~/Mitglieder/Login.aspx" mappedUrl="~/Login.aspx" />
   <add url="~/Airbus.aspx" mappedUrl="~/Info/Flugzeuge.aspx?Kategorie=Airbus" />
   <add url="~/Boeing.aspx" mappedUrl="~/Info/Flugzeuge.aspx?Kategorie=Boeing" />
</urlMappings>
Wenn 1.000 Produktseiten auf eine produkte.aspx abgebildet werden sollen, ist das deklarative URL-Rewriting kein ädaquates Vorgehen.

Aufgrund der Beschränkungen des deklarativen URL-Rewriting ist das programmgesteuerte URL-Rewriting auch in ASP.NET 2.0 noch eine für viele Anwender relevante Thematik.
ASP.NET unterstützt URL-Rewriting durch die Methode RewritePath() in der Klasse System.Web.HttpContext. Diese Methode erwartet als ersten Parameter den Namen einer physikalisch existierenden .aspx-Datei. URL-Parameter, die durch "/" oder "?" an den Dateinamen anzuhängen sind, müssen im zweiten bzw. dritten Parameter der Methode RewritePath() genannt werden.
RewritePath() hat keine Wirkung, wenn es innerhalb einer .aspx-Seite aufgerufen wird; möchte man innerhalb einer Seite umleiten, muss man Response.Redirect() oder Server.Transfer() verwenden. Der Aufruf von RewritePath() steht üblicherweise in der global.asax in der Ereignisbehandlungsroutine
Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs),
die vor jedem einzelnen Aufruf einer .aspx-Seite von dem ASP.NET Page Framework angesprochen wird.

Weitere Informationen finden Sie in diesen Beiträgen:
URL Rewriting