Я портирую веб-сайт на MVC5 и должен убедиться, что структура URL-адреса одинакова.Старый сайт имеет следующие URL:
https://www.example.com/collections/products
https://www.example.com/products/product1-name
https://www.example.com/products/product2-name
У меня есть ProductsController для первого URL, и он прекрасно работает:
routes.MapRoute(
name: "Products",
url: "collections/products/{action}/{id}",
defaults: new { controller = "Products",
action = "Index",
id = UrlParameter.Optional }
);
Однако я не нашел способа сопоставитьвсе URL-запросы (например, / products / product1-name, / products / product2-name) к одному контроллеру.Я посмотрел на все, но не имел никакого успеха.
Я мог бы создать отдельные контроллеры для product1-name, product2-name и т. Д., Но есть тысячи продуктов.По сути, product1-name, product2-name - это идентификаторы продуктов, которые будут возвращены из базы данных.