Roteamento .NET MVC-4 com slugs personalizados

Estou reescrevendo um projeto de site com ASP.Net MVC 4 e acho difícil configurar as rotas corretas. A estrutura de URL não é RESTful ou segue um padrão de controlador / ação - as páginas têm a seguinte estrutura de slugs. Todas as lesmas são salvas no banco de dados.

/country
/country/carmake
/country/carmake/carmodel
/custom-landing-page-slug
/custom-landing-page-slug/subpage

Exemplo:

/italy
/italy/ferrari
/italy/ferrari/360
/history-of-ferrari
/history-of-ferrari/enzo

Desde aCountry, Car Make eCar Model são diferentes modelos / entidades, eu gostaria de ter algo como um CountriesController, CarMakesController e CarModelsController onde eu possa lidar com a lógica diferente e renderizar as visualizações apropriadas. Além disso, tenho as páginas de destino personalizadas que podem ter slugs contendo uma ou mais barras.

Minha primeira tentativa foi ter um pega-tudoPagesController qual procuraria o slug no banco de dados e chamar o controlador apropriado baseado no tipo de página (por exemplo.CarMakesController), que executaria algumas lógicas e renderizaria a visualização. No entanto, eu nunca consegui "chamar" o outro controlador e renderizar a visão apropriada - e não parecia certo.

Alguém pode me apontar na direção certa aqui? Obrigado!

EDIT: Para esclarecer: eu não quero um redirecionamento - eu quero delegar a solicitação para um controlador diferente para o tratamento de lógica e renderização de uma visão, dependendo do tipo de conteúdo (Country, CarMake etc).

questionAnswers(1)

yourAnswerToTheQuestion