ASP.NET URL Herschrijven

stemmen
30

Hoe kan ik herschrijven URL's in ASP.NET?

Ik wil gebruikers in staat zijn om goto http://www.website.com/users/smith plaats van http://www.website.com/?user=smith

De vraag is gesteld op 05/08/2008 om 14:14
bron van user
In andere talen...                            


4 antwoorden

stemmen
23

Probeer de Managed Fusion Url Rewriter en reverse proxy:

http://urlrewriter.codeplex.com

De regel voor het herschrijven van dit zou zijn:

# 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]
antwoordde op 05/08/2008 om 14:18
bron van user

stemmen
20

Scott Guthrie wordt beschreven hoe u dit natively doen in .Net vrij uitgebreid hier .

Ik heb de HttpModule benadering gebruikt, en het werkt goed. Het is eigenlijk wat ManagedFusion voor u doet.

antwoordde op 05/08/2008 om 14:28
bron van user

stemmen
5

Microsoft nu schepen een officiële URL herschrijven Module voor IIS: http://www.iis.net/download/urlrewrite

Het ondersteunt de meeste vormen van het herschrijven zoals het instellen van server variabelen en wildcards.

Het zal ook bestaan ​​op alle Azure web gevallen out of the box.

antwoordde op 01/10/2010 om 12:52
bron van user

stemmen
4

Ik heb een HttpModule voor het herschrijven van URL gebruikt vanaf www.urlrewriting.net met groot succes (hoewel ik een veel vroeger, eenvoudigere versie geloven)

Als je heel weinig feitelijke rewriting regels vervolgens URL-toewijzingen ingebouwd in .NET 2.0 zijn waarschijnlijk een makkelijkere optie, er zijn een paar schrijf-ups van deze op het web, de 4guysfromrolla lijkt een vrij volledig, maar zoals je kunt zien ze dat niet doen ondersteuning reguliere expressie mappings zijn, worden als zodanig vrij nutteloos in een dynamische omgeving weergegeven (ervan uitgaande dat "smid" in uw voorbeeld is niet een speciaal geval dan zijn deze van geen enkel nut zou zijn)

antwoordde op 11/08/2008 om 14:44
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more