Question

Comment dois-je réécrire les URL dans ASP.NET?

Je voudrais que les utilisateurs puissent goto http://www.website.com/users/smith au lieu de http://www.website.com/?user=smith

Était-ce utile?

La solution

Essayez de le Géré la Fusion Url Rewriter et Reverse Proxy:

http://urlrewriter.codeplex.com

La règle de réécriture, ce 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]

Autres conseils

Microsoft est maintenant livré avec un fonctionnaire Module de Réécriture d'URL IIS: http://www.iis.net/download/urlrewrite

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

Il sera également exister sur tous Azure web instances de la boîte.

J'ai utilisé un httpmodule pour la réécriture d'url à partir de www.urlrewriting.net avec beaucoup de succès (quoique je crois de plus en plus, version simplifiée)

Si vous avez très peu de véritables règles de réécriture puis les mappages d'url intégré à .NET 2.0 sont probablement une option plus facile, il ya un peu d'écrire ups de ces sur le web, la 4guysfromrolla l'un semble assez exhaustive, mais comme vous pouvez le voir, ils ne supportent pas l'expression régulière mappages sont, comme tels, rendu assez inutile dans un environnement dynamique (en supposant que "smith" dans votre exemple n'est pas un cas alors ce serait d'aucune utilité)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top