У меня есть webapp, который отлично работает при отладке и тестировании локально. Однако, когда я публикую сайт на сервере productionserver, маршрутизация перепутана. Это происходит из-за того, что он работает как суб-проект на производственном сервере.ASP.NET MVC Как использовать маршруты, когда приложение публикуется как SubProject домена?
Testing: http://localhost:xxx/ Production: http://remotehost/webapp/
Как настроить маршрутизацию?
Это моя текущая настройка маршрутизации (в основном по умолчанию). Сервер отображает действие контроллера по умолчанию, когда я посещаю http://remotehost/webapp/. Но когда я жестко закодировать контроллер (http://remotehost/webapp/Project/ он не работает ...
Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
routes.IgnoreRoute("{resource}.axd/{*pathInfo}")
routes.MapRoute("ProjectsByCategory", "Project/Category/{id}", _
New With {.controller = "Project", .action = "ListByCategory", .id = ""}, _
New With {.id = "^[0-9]+"})
routes.MapRoute(_
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Project", .action = "Index", .id = ""} _
)
End Sub
У меня было приложение, работающее как виртуальный каталог, а не приложение. И мне также нужно было добавить подстановочное сопоставление для перезаписи URL-адресов. Спасибо – Ropstah