Seguro que alguna vez habéis notado que al generar URLs hacia acciones de una aplicación MVC usando helpers como Url.Action()
o Html.ActionLink()
, éstas son generadas usando mayúsculas y minúsculas según hubiéramos indicado en los parámetros de las llamadas:
Helper | URL generada |
---|---|
@Url.Action("index", "home") |
/home/index |
@Url.Action("List","Products", new{ Category="PC" }) |
/Products/List?Category=PC |
@Url.Action("VIEWALL", "PRODUCTS") |
/PRODUCTS/VIEWALL |
Como podemos ver, la URL resultante queda a criterio del desarrollador o, lo que es peor, al puro azar. A veces incluso no es algo que podamos elegir fácilmente, puesto que son generadas por otros componentes como T4MVC. Y no sé si desde el punto de vista del SEO tendrá su impacto, pero desde luego el ofrecer estas direcciones sin un aspecto unificado no da buena impresión.
En versiones anteriores a ASP.NET 4.5, esto podíamos solucionarlo creando helpers, o rutas personalizadas que, heredando de Route
, realizaran esta conversión a minúsculas. Sin embargo, ahora disponemos de un mecanismo más cómodo para forzar que las URLs generadas sean normalizadas a minúsculas, así:
1
2
3
4
5
6
7
8
9
10
|
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.LowercaseUrls = true ; routes.IgnoreRoute( "{resource}.axd/{*pathInfo}" ); [...] } } |
Un detalle, sin duda interesante, para tener en cuenta en nuestros desarrollos.
Publicado en: Variable not found.