November Happy Hour will be moved to Thursday December 5th.
November Happy Hour will be moved to Thursday December 5th.
The segment handler for {language} is responsible for setting the language on the routing context. The handler for {node} segment will use the language specified on context to determine which language version of content the request is for. So if you change the order it will be sligtly different in meaning the {node} segment has no language specified on context so it will try to load from segments and then will the language be set later.
In theory it should work to swap the order of the segments (I tried and it seemed to work in practice as well) but it is nothing we officially support (since it is not part of our test matrix). But with that said you could try your self. You could either do it in your Global file (as in code example below) or in an InitializableModule:
protected override void RegisterRoutes(RouteCollection routes) { base.RegisterRoutes(routes); //Find index of default route var index = -1; for (int i=0; i < routes.Count; i++) { if (routes[i] is IContentRoute contentRoute && contentRoute.Name.Equals("pages")) { index = i; break; } } //remove default route routes.RemoveAt(index); //register route with different segment order routes.MapEnterpriseRoutes( name: "pages", url: "{node}/{language}/{partial}/{action}", defaults: new { action = "index" }); //new route is registered last move to original place var newRoute = routes.Last(); routes.RemoveAt(routes.Count - 1); routes.Insert(index, newRoute); }
By default - EPiserver maps content using a route /{lang}/{node}{action} - with {lang} being the optional language segment, {node} being the content url hierarchy calculated from the page tree and {action} being the controller action which has a default of "Index"
Can you modify the order of these?
Ideally I'd like a route structure of
{node}/{lang}/{action}
Is this possible? (I think it probably is as I imagine I can add or remove entries from the routetable). Would this have any other impact?