Есть ли способ заставить MVC.NET маршрутизацию игнорировать несколько / dir / paths /? - PullRequest
1 голос
/ 12 января 2010

Это означает, что я мог бы начать маршрутизацию URL, например, site.com/v3/site/controller/action

в основном он игнорировал бы v3 / site / и рассматривал бы это как root?

Ответы [ 2 ]

3 голосов
/ 12 января 2010

Ты уверен, что можешь. Проверьте следующие маршруты:

routes.MapRoute("Route1", "StaticFolder/{name}/{id}", new { controller = "Controller1", action = "Action1", name = "Sample", id = "1" });

Маршрут 1 всегда будет вызывать Action1 на Controller1 при любых запросах ресурсов в StaticFolder.

routes.MapRoute("Route2", "StaticFolder1/{id}/{action}", new { controller = "Controller2", action = "Action2", id = "1" });

Маршрут 2 всегда будет вызывать Controller2 с указанным действием (по умолчанию Action2) для любых запросов к StaticFolder1.

В вашем конкретном случае, хотя вы хотите удалить маршрут по умолчанию и заменить его следующим:

routes.MapRoute("Default", "/v3/site/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" });
0 голосов
/ 12 января 2010

Похоже, что корень приложения находится в / v3 / site. Насколько я знаю, маршрутизация ASP-MVC не может перехватывать маршруты ниже своего собственного корня (вероятно, это проблема безопасности). Это больше похоже на конфигурацию IIS, которая необходима, чем правило маршрутизации MVC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...