36 Stimmen

ASP.NET URL-Umschreiben

Wie schreibe ich eine URL in ASP.NET um?

Ich möchte, dass die Benutzer die folgenden Seiten aufrufen können

http://www.website.com/users/smith

anstelle von

http://www.website.com/?user=smith

25voto

Nick Berardi Punkte 53415

Versuchen Sie den Managed Fusion Url Rewriter und Reverse Proxy:

http://urlrewriter.codeplex.com

Die Regel für die Neuformulierung würde lauten:

# 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]

5voto

Sam Saffron Punkte 124121

Microsoft liefert jetzt ein offizielles URL-Rewriting-Modul für IIS aus: http://www.iis.net/download/urlrewrite

Es unterstützt die meisten Arten des Rewritings, einschließlich des Setzens von Servervariablen und Wildcards.

Sie wird auch auf allen Azure-Webinstanzen standardmäßig vorhanden sein.

4voto

Ich habe ein httpmodul zum Umschreiben von URLs aus www.urlrewriting.net mit großem Erfolg (wenn auch, wie ich glaube, in einer viel früheren, einfacheren Version)

Wenn Sie nur sehr wenige tatsächliche Rewriting-Regeln haben, dann sind die in .NET 2.0 eingebauten URL-Mappings wahrscheinlich eine einfachere Option. 4JungsausRollla eine scheint ziemlich erschöpfend zu sein, aber wie Sie sehen können, unterstützen sie keine Zuordnungen mit regulären Ausdrücken und sind daher in einer dynamischen Umgebung ziemlich nutzlos (unter der Annahme, dass "smith" in Ihrem Beispiel kein Sonderfall ist, wären diese von keinerlei Nutzen)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X