Немного опоздал на вечеринку об этом, но я написал сообщение в блоге о постоянных перенаправлениях для устаревших маршрутов , которое позволяет это -
routes.MapLegacyRoute(
null,
"Teams/ChicagoBears",
new { controller = "Teams", action = "ChicagoBears", area="" }
);
Location
для перенаправления генерируется с использованием значений маршрута с использованием Url.Action
, поэтому, если у вас есть маршрут в RouteTable, который соответствует значениям маршрута, перенаправление 301 будет работать так, как задумано. В вашем примере сгенерированный URL должен быть http://www.example.com/Teams/Chicago-Bears
, когда шаблон URL совпадает с "Teams/ChicagoBears"
.
Я не буду повторять здесь код, так как он довольно небольшой, и он есть в блоге