Мне нужно создать сайт, на котором шаблоны URL-адресов позволяют использовать персонализированный URL-адрес, например www.mysite.com
, который открывает главный портал.
www.mysite.com/customer1
предоставляет портал, настроенный для этого клиента (те же действия и контроллеры, которые называются аргументом для настройки, будут извлечены из URL-адреса).
Я хочу, чтобы префикс «/customer1/» постоянно сохранялся в URL-адресе на всех страницах.
У меня есть следующие маршруты, которые отлично работают:
routes.MapRoute(
name: "CompanyUrl",
url: "{companyurl}/{controller}/{action}/{id}",
defaults: new { companyurl = UrlParameter.Optional, controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Однако, когда я захожу на сайт по vanityURL, поэтому на www.mysite.com/customer1
все ссылки действий отображаются нормально, как
<a href="/customer1/Home/Contact">Contact</a>
но когда я ввожу только www.mysite.com
, все ссылки отображаются как:
<a href="//Home/Testimonials">Testimonials</a>
и я не могу никуда ориентироваться.
Как я могу заставить их правильно отображаться без параметра companyurl
и без дополнительного /
?