Получение MVC, чтобы игнорировать маршрут к корню сайта - PullRequest
9 голосов
/ 30 июня 2010

Я работаю над сайтом, который имеет частично статический контент и частично MVC. Корнем сайта является index.html, и все контроллеры явно маршрутизируются, а все html-файлы игнорируются. Однако, когда вы попадаете в корень сайта, он пытается его маршрутизировать. Как я могу указать движку маршрутизации игнорировать корень сайта? www.mysite.com не следует маршрутизировать, вместо этого перейдите на index.html. Вот моя конфигурация маршрутизации:

            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("*.html|js|css|gif|jpg|jpeg|png|swf");

        routes.MapRoute(
            "vendor_signup","{vendor}/signup/{action}/",
            new { controller = "Signup", action = "Index", vendor=UrlParameter.Optional}  // Parameter defaults
        );
        routes.MapRoute(
            "signup","signup/{action}/",
            new { controller = "Signup", action = "Index", vendor=Vendors.PCICentral}  // Parameter defaults
        );
//more routes below

Ответы [ 2 ]

16 голосов
/ 01 июля 2010

Я полагаю, что вы имеете в виду, когда кто-то заходит на / на вашем сайте, вы не хотите использовать MVC, но показывает статическую страницу. Чтобы достичь этого, вы должны указать MVC игнорировать этот маршрут и позволить веб-формам обрабатывать его. Затем Webforms должны показать вам /index.html, когда он получает запрос /.

Просто добавьте это, прежде чем ваши маршруты будут работать:

routes.IgnoreRoute("");
3 голосов
/ 30 июня 2010

Один из маршрутов все еще был в {}, что заставило его попытаться проанализировать корень.

...