Как развернуть приложение ASP.NET MVC на виртуальном хостинге, не теряя красивого URI? - PullRequest
1 голос
/ 15 марта 2010

Я пытаюсь загрузить приложение ASP.NET MVC на общий сервер, работающий на IIS 6 и Windows 2003. У меня нет доступа к IIS. Я изменил файл global.asax.cs следующим образом:

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default",
            "{controller}.aspx/{action}/{id}",
            new { action = "Index", id = "" }
          );

        routes.MapRoute(
          "Root",
          "",
          new { controller = "Home", action = "Index", id = "" }
        );

Работает нормально, но не пропускает .aspx в конце контроллера. Есть ли способ удалить расширение .aspx в URL?

Ответы [ 3 ]

1 голос
/ 15 марта 2010

Насколько я знаю, ваш URI должен работать без проблем, если вы используете IIS7.

Однако, если вы работаете с IIS6, вам нужно будет прыгнуть через несколько обручей, чтобы получить URI без расширения.

Это руководство может помочь - взломан.

Насколько я могу судить, вам понадобится доступ к сопоставлениям обработчиков в IIS6, которых у вас, вероятно, не будет на вашем общем хосте.

1 голос
/ 15 марта 2010

Смена хоста. Шутки в сторону. Раздельный хостинг ВСЕ ЕЩЕ использует IIS 6 - это жестоко. Хозяева должны были переключиться довольно давно.

1 голос
/ 15 марта 2010

Нет, это потому, что ваш хост не настроил IIS для отправки всех запросов через ASP.NET. Единственное, что вы можете сделать, это попросить вашего хоста изменить этот параметр.

...