Question

J'ai ajouté UrlRewriter.net sur mon site aujourd'hui et il fonctionne très bien avec rediriger mes liens SEO vers des pages réelles. La question est de savoir s'il y a un moyen de conserver mes liens dans le site et ont ResolveUrl () en utilisant les règles de liens de sortie dans ma page. Les liens « anciens » ne devraient jamais être considérés soit par les robots de recherche ou les utilisateurs.

exemple de lien dans la page:

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

J'ai ajouté le code rewrite comme ça 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 sous / hors redirection lors du débogage.

Était-ce utile?

La solution

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 inscrivez-vous 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 Webform routage mais modifia dans une petite façon de le faire fonctionner avec som pages maître et a également ajouté web.config settigns à le faire fonctionner en douceur sur le serveur avec urls non ASPX.

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

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

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