Wie überschreiben ich URLs in ASP.NET?ASP.NET URL Umschreiben
würde ich Benutzer gerne in der Lage http://www.website.com/users/smith goto sein statt http://www.website.com/?user=smith
Wie überschreiben ich URLs in ASP.NET?ASP.NET URL Umschreiben
würde ich Benutzer gerne in der Lage http://www.website.com/users/smith goto sein statt http://www.website.com/?user=smith
Versuchen Sie, die Managed Fusion URL Rewriter und Reverse Proxy:
http://urlrewriter.codeplex.com
Die Regel diese zum Umschreiben würde sein:
# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*) /users/$1 [NC,R=301]
# rewrite the rule internally
RewriteRule ^/users/(.*) /?user=$1 [NC,L]
Ein Vorschlag: Ich würde die erste RewriteRule anpassen, um wie^aussehen /? users = (\ w *), so dass http://www.website.com/?users=smith&day=monday http://www.website.com/users/smith&day=monday nicht produziert – Dscoduc
Das ist ein gute Idee und vollständig in dieser .NET-Version unterstützt. Die ursprüngliche Absicht war, mein Beispiel mit mod_rewrite kompatibel zu machen, das diese Syntax nicht unterstützt. –
Das ist genial. –
Scott Guthrie behandelt, wie man dies nativ in .Net ziemlich ausführlich tut here.
Ich habe den httpmodul Ansatz verwendet und es funktioniert gut. Es ist im Grunde, was ManagedFusion für Sie tut.
Danke, der ScottGu Blog war genau richtig! –
Ich habe ein Httpmodule für url von www.urlrewriting.net mit großem Erfolg Umschreiben verwendet (wenn auch ich viel früher glauben, einfachere Version)
Wenn Sie nur sehr wenige tatsächliche Umschreiben Regeln haben dann in .NET gebaut URL-Zuordnungen zu 2.0 sind wahrscheinlich eine einfachere Möglichkeit, es gibt ein paar Write-ups von diesen im Internet, die 4guysfromrolla scheint ziemlich erschöpfend, aber wie Sie sehen können, sie nicht unterstützen regulären Ausdruck Mappings sind als solche ziemlich nutzlos in einer dynamischen Umgebung (vorausgesetzt, " smith "in Ihrem Beispiel ist kein Sonderfall, dann wären diese nutzlos."
Microsoft liefert jetzt einen offiziellen URL Rewriting Mod ULE für IIS: http://www.iis.net/download/urlrewrite
Es unterstützt die meisten Arten des Umschreibens einschließlich Servervariablen und Platzhalter festlegen.
Es wird auch auf allen Azure-Web-Instanzen standardmäßig vorhanden sein.
Das sieht interessant aus. Weißt du, ob es auf IIS6 funktioniert und auf welcher Ebene im Netzwerkstack es sitzt? – GateKiller
Dies ist nur eine IIS7-Lösung (es ist ein Modul http://learn.iis.net/page.aspx/121/iis-7-modules-overview/), für IIS6 benötigen Sie www.isapirewrite.com oder www.urlrewriter.net, isapi rewrite scheint wie ein stabiles kommerzielles Produkt für iis6 –
@GateKiller :) vergessen, Sie in meinem prev Kommentar zu benachrichtigen –
Für Schritt für Schritt Erklärung folgen Sie den folgenden Link: http://challadotnetfaq.blogspot.com/2011/08/url-rewritting-in-aspnet.html –