ASP.NET URL Rewriting

Translate

Wie schreibe ich URLs in ASP.NET um?

Ich möchte, dass Benutzer gehen könnenhttp://www.website.com/users/smithAnstatt vonhttp://www.website.com/?user=smith

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Probieren Sie den Managed Fusion Url Rewriter und Reverse Proxy aus:

http://urlrewriter.codeplex.com

Die Regel für das Umschreiben wäre:

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

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

Es unterstützt die meisten Arten des Umschreibens, einschließlich des Festlegens von Servervariablen und Platzhaltern.

Es ist auch auf allen sofort einsatzbereiten Azure-Webinstanzen vorhanden.

Quelle
Ternence Lee
Translate

Ich habe ein http-Modul zum Umschreiben von URLs verwendetwww.urlrewriting.netmit großem Erfolg (obwohl ich eine viel frühere, einfachere Version glaube)

Wenn Sie nur sehr wenige Regeln zum Umschreiben haben, sind in .NET 2.0 integrierte URL-Zuordnungen wahrscheinlich eine einfachere Option. Es gibt einige Beschreibungen davon im Web4guysfromrollaMan scheint ziemlich erschöpfend zu sein, aber wie Sie sehen, unterstützen sie keine Zuordnungen für reguläre Ausdrücke. Sie werden als solche in einer dynamischen Umgebung ziemlich unbrauchbar gemacht (vorausgesetzt, "Schmied" in Ihrem Beispiel ist kein Sonderfall, dann wären diese nutzlos).

Quelle