Frage

Wie schreibe ich URLs in ASP.NET um?

Ich möchte, dass Benutzer die Möglichkeit haben, dorthin zu gelangen http://www.website.com/users/smith anstatt http://www.website.com/?user=smith

War es hilfreich?

Lösung

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

http://urlrewriter.codeplex.com

Die Regel zum 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]

Andere Tipps

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 Umschreibens, einschließlich der Festlegung von Servervariablen und Platzhaltern.

Es ist außerdem standardmäßig auf allen Azure-Webinstanzen vorhanden.

Ich habe ein httpmodule zum Umschreiben von URLs verwendet www.urlrewriting.net mit großem Erfolg (wenn auch meiner Meinung nach eine viel frühere, einfachere Version)

Wenn Sie nur sehr wenige tatsächliche Umschreibungsregeln haben, sind in .NET 2.0 integrierte URL-Zuordnungen wahrscheinlich eine einfachere Option. Es gibt einige Beschreibungen davon im Internet 4 Jungs von Rolla Eine scheint ziemlich erschöpfend zu sein, aber wie Sie sehen können, unterstützen sie keine Zuordnungen regulärer Ausdrücke und sind daher in einer dynamischen Umgebung ziemlich nutzlos (vorausgesetzt, „smith“ in Ihrem Beispiel ist kein Sonderfall, dann wären diese nutzlos).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top