2009-11-06 14 views
0

J'ai ajouté UrlRewriter.net sur mon site aujourd'hui et cela fonctionne très bien avec la redirection de mes liens SEO vers des pages réelles. La question est de savoir s'il existe un moyen de conserver mes anciens liens sur le site et que ResolveUrl() utilise les règles pour afficher les liens dans ma page. Les "anciens" liens ne doivent jamais être consultés par les robots de recherche ou les utilisateurs.Conserver les anciennes URL lors de l'implémentation de UrlRewriter.net

exemple de lien dans la page:

<a href="<%= ResolveUrl("~/Help.aspx") %>">Help</a> 

J'ajouté le code rewrite comme celui-ci dans web.config:

<rewrite url="~/help" to="~/help.aspx" /> 
<rewrite url="~/help/(.+)" to="~/help.aspx?section=$1" /> 

D'abord, il serait bon d'avoir les liens rendus sans travail supplémentaire comme MVC a. Le deuxième meilleur est s'il y a un bon moyen d'ajouter simplement des règles pour "l'autre sens" aussi bien dans la liste de réécriture.

Cela aussi me permettre de tourner easally off/sur la redirection lors du débogage.

Répondre

0

Ok. Je mis à exécution les tecnique de routage utilisé dans le routage MVC dans mes web.forms au lieu qui m'a permis d'utiliser le code ci-dessous:

ASPX:

<%= Url.RouteUrl("article", new { name="my-name-for-artcile"}) %> 

et enregistrer tous les itinéraires en un seul endroit comme:

routes.MapWebFormRoute("articles", "artiklar", "~/articles.aspx"); 

J'ai utilisé le code Phil Haack fait à propos de Routage Webform mais l'a modifié dans un petit chemin pour le faire fonctionner avec des pages maîtres et a également ajouté quelques settigns web.config pour obtenir i t travailler en douceur sur le serveur avec des URL non-aspx.

http://blog.joakimfischer.se/post/2009/11/08/Web-Form-Routing.aspx

Maintenant, il fonctionne comme prévu, mais je stoped en utilisant UrlRewriter.net pour obtenir la fonctionnalité que je voulais.