Pregunta

He añadido UrlRewriter.net a mi sitio hoy y funciona bien con la reorientación de mis enlaces de SEO para páginas reales. La pregunta es si hay alguna manera de mantener mis viejos enlaces de sitio y tener ResolveUrl () utilizando las reglas a los enlaces de salida en mi página. Los "viejos" enlaces nunca deben ser vistos por cualquiera de los robots de búsqueda o usuarios.

Enlace ejemplo en la página:

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

He añadido código de reescritura como este en web.config:

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

En primer lugar, sería bueno tener los enlaces prestados sin ningún trabajo extra, como MVC tiene. El segundo mejor es que si hay una manera agradable para añadir reglas para el "otro lado", así como en la lista de reescritura.

Esto también me permitiría convertir easally off / on redirigir al depurar.

¿Fue útil?

Solución

Ok. He implementado la tecnica de enrutamiento utilizado en MVC enrutamiento en mis web.forms vez que me permitió a usar más adelante código:

ASPX:

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

y registrar todas las rutas en un solo lugar como:

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

He utilizado el código Phil Haack hecho sobre Formulario web de enrutamiento pero modificado de una manera pequeña para que funcione con las páginas maestras y tambien tiene añadido settigns som Web.config para conseguir que funcione sin problemas en el servidor con direcciones URL no aspx.

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

Ahora funciona como se esperaba, pero me detuve usando UrlRewriter.net para obtener la funcionalidad que quería.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top