Réécriture d'URL ASP.NET

Translate

Comment réécrire les URL dans ASP.NET?

Je souhaite que les utilisateurs puissent accéderhttp://www.website.com/users/smithau lieu dehttp://www.website.com/?user=smith

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

Toutes les réponses

Translate

Essayez le réécriveur d'URL et le proxy inverse Managed Fusion:

http://urlrewriter.codeplex.com

La règle pour réécrire ceci serait:

# 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]
La source
Translate

Microsoft propose désormais un module de réécriture d'URL officiel pour IIS:http://www.iis.net/download/urlrewrite

Il prend en charge la plupart des types de réécriture, y compris la définition de variables de serveur et de caractères génériques.

Il existera également sur toutes les instances Web Azure prêtes à l'emploi.

La source
Ternence Lee
Translate

J'ai utilisé un httpmodule pour la réécriture d'url à partir dewww.urlrewriting.netavec beaucoup de succès (même si je crois une version beaucoup plus ancienne et plus simple)

Si vous avez très peu de règles de réécriture, les mappages d'URL intégrés à .NET 2.0 sont probablement une option plus simple, il y en a quelques-uns sur le Web, le4guysfromrollal'un semble assez exhaustif mais comme vous pouvez le voir, ils ne prennent pas en charge les mappages d'expressions régulières sont en tant que tels rendus assez inutiles dans un environnement dynamique (en supposant que "smith" dans votre exemple n'est pas un cas particulier, ils ne seraient d'aucune utilité)

La source