Vra

Hoe doen ek herskryf url's in ASP.NET?

Ek wil graag gebruikers in staat wees om te gaan na die http://www.website.com/users/smith in plaas van http://www.website.com/?user=smith

Was dit nuttig?

Oplossing

Probeer die Bestuurde Fusion Url ReWriter en Reverse Proxy:

http://urlrewriter.codeplex.com

Die reël vir hierdie herskryf sou wees:

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

Ander wenke

Microsoft nou skepe'n amptelike URL Herskryf Module vir IIS: http://www.iis.net/download/urlrewrite

Dit ondersteun die meeste tipes van die herskryf insluitend die opstel server veranderlikes en wildcards.

Dit sal ook bestaan op al die Blou web gevalle uit die boks.

Ek het 'n httpmodule vir url herskryf van www.urlrewriting.net met groot sukses gebruik (hoewel ek glo 'n veel vroeër, eenvoudiger weergawe)

As jy 'n paar werklike herskryf reëls dan url afbeeldings gebou in te NET 2.0 is waarskynlik 'n makliker opsie, is daar 'n paar skryf ups van hierdie op die web, die 4guysfromrolla een lyk redelik volledig nie, maar soos jy kan sien hulle nie ondersteun regular expression afbeeldings is word as so 'n redelik nutteloos gelewer in 'n dinamiese omgewing (met die aanvaarding "Smith" in jou voorbeeld is nie 'n spesiale geval is dan hierdie van geen nut sal wees)

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top