Как настроить формат ActionLink для удаления подкаталога?

StackOverflow https://stackoverflow.com/questions/3008871

Вопрос

Скажем, домен, который сопоставлен с моим каталогом хостинга root, является example.com. Отказ Godaddy сил сопоставление других доменов до подкаталогов корень. Например, мой второй домен, example1.com, сопоставлен на example.com/example1.

Я загрузил свой сайт ASP.NET MVC в такой подкаталог, только для того, чтобы обнаружить, что ActionLinks, которые предназначены для навигации, имеют следующий формат:

http://example1.com/example1/Controller/Action

Другими словами, даже когда я использую домен, который сопоставлен в подкаталог, подкаталог по-прежнему используется в URL. Я хочу изменить формат моих действий.

Тем не менее, я заметил, что я также могу получить доступ к тому же пути, собираюсь:

http://example1.com/Controller/Action

(Оставив подкаталог)

Я хочу, чтобы мои накопители автоматически бросают подкаталог, так как не требуется.

Это возможно, не изменив действий в обычные URL?

Это было полезно?

Решение

Нет, я так не думаю, так как ссылка действий в основном работает, чтобы сделать контроллер / действие. Другая работа вокруг, если у вас установить доступ к серверу, это использовать инструмент перезаписи URL, такими как iirf.codeplex.com, который бесплатный и работает довольно хорошо. Могут быть некоторые другие непреднамеренные последствия с перепишем, в зависимости от того, что вы делаете.

Хет

Другие советы

Вы можете попробовать добавить дополнительные заявления маршрута в свой Global.Asax, в порядке из ваших подкаталоги. Пример:

routes.AddRoute("example1/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.AddRoute("{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });

Я верю, что маршруты проверяются в порядке от Global Asax, чтобы вы могли эффективно направить запрос на правильное место. Однако ваша ссылка все равно будет содержать папку «Пример1» в URL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top