MVC rediriger vers la route par défaut
Voici mon itinéraire par défaut:
routes.MapRouteLowercase(
"Default",
"{country}/{controller}/{action}/{id}",
new {
country = "uk",
controller = "Home",
action = "Index",
id = UrlParameter.Optional
},
new[] { "Presentation.Controllers" }
);
Comme nous le savons, lorsque quelqu'un visite www.domain.com/MVC de routage permettra de déterminer la valeur par défaut du contrôleur et de l'action à exécuter en fonction sur la route ci-dessus, mais l'URL reste le même. Est-il intégré ou de manière élégante pour effectuer une redirection 301 de www.domain.com/pour www.domain.com/uk/{controller}/{action}/pour chaque itinéraire qui utilise les paramètres par défaut?
- Vous pourriez faire une redirection à partir de votre contrôleur par défaut par exemple, l'indice de l'action
Vous devez vous connecter pour publier un commentaire.
J'ai créé un itinéraire personnalisé gestionnaire qui fait la redirection au niveau de la route. Grâce à Phil Haack.
Ici est l'ensemble de l'œuvre.
Rediriger gestionnaire d'itinéraire
Redirection http gestionnaire
Route extensions de
D'avoir tous ces, je peux faire quelque chose comme cela, alors que la cartographie des itinéraires Mondiale.asax.cs.
Dans mes projets, j'ai l'habitude "IndexRedirect" comme action par défaut dans mon itinéraire (dont l'URL ne sera jamais visible) qui ne fait rien, mais la redirection vers la "vraie" page d'index (dont l'URL sera toujours visible).
Vous pouvez créer cette action dans une classe de base de toutes vos classes de contrôleur.