tutorial route net mvc examples attribute asp asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

asp.net-mvc - net - route() in mvc



ASP.NET MVC 4-301 redirecciones en RouteConfig.cs (2)

¿Cómo puedo agregar una ruta al archivo RouteConfig.cs en una aplicación ASP.NET MVC 4 para realizar una redirección 301 permanente a otra ruta?

Me gustaría que ciertas rutas diferentes apunten a la misma acción del controlador: parece que una 301 sería la mejor práctica para esto, especialmente para SEO.

Gracias.


Sé que usted específicamente preguntó cómo hacer esto en el RouteConfig, pero también puede lograr lo mismo utilizando las Reglas de Reescritura de IIS . Las reglas viven en su web.config, por lo que ni siquiera necesita usar IIS para crear las reglas, simplemente puede agregarlas a web.config y se moverá con la aplicación a través de todos sus entornos (Dev, Staging, Prod, etc.) y mantenga su RouteConfig limpia. Requiere que el Módulo IIS se instale en IIS 7, pero creo que viene preinstalado en 7.5+.

Aquí hay un ejemplo:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect t and c" stopProcessing="true"> <match url="^terms_conditions$" /> <action type="Redirect" url="/TermsAndConditions" /> </rule> </rules> </rewrite> </system.webServer> </configuration>


Tienes que usar RedirectPermanent, aquí hay un ejemplo:

public class RedirectController : Controller { public ActionResult News() { // your code return RedirectPermanent("/News"); } }

en el asax global:

routes.MapRoute( name: "News old route", url: "web/news/Default.aspx", defaults: new { controller = "Redirect", action = "News" } );