Вы не можете сделать это с помощью маршрута MVC и / или вашей веб-инфраструктуры.Вы должны сделать это на уровне веб-сервера и DNS.Он называется поддоменами.
DNS должен быть создан как поддомен подстановочного знака (* .domainname), чтобы вы могли иметь столько, сколько хотите, или вручную для каждого, если вы знаете, что у вас будет несколько (.domain, b.domain), чтобы домен (localhost) знал, что все (*) перед именем домена все еще направлено на ваш сервер.
Затем вам нужно настроить свой веб-сервер, чтобы знать, как взять каждый поддомен и отправить его на правильный веб-сайт.
Если у вас есть два дочерних сайта a.localhost и b.localhost, вам необходимо добавить два сайта в IIS (при условии, что IIS, поскольку это asp.net) с именами сайтов a.localhost и b.localhost.
Вам нужно будет указать физический путь сайта к каждой папке (a & b), оставить привязку одну / по умолчанию (если я правильно помню), чтобы она указывала на localhost (или ваше доменное имя) иhost должен быть a.localhost и b.localhost соответственно.
Поскольку вы делаете это на localhost, я собираюсь предположить, что вы делаете это на компьютере разработчика.Файл hosts может имитировать ваши потребности DNS на вашем локальном компьютере.Измените файл hosts (C: \ Windows \ System32 \ drivers \ etc), чтобы добавить свой a.localhost & b.localhost к своему локальному IP-адресу, чтобы убедиться, что они разрешаются.
127.0.0.1 a.localhost
127.0.0.1 b.localhost
Если вы работаете слокальное устройство разработки, и вы используете IIS Express, вы все равно можете выполнить настройку субдомена.Вместо выполнения шагов для IIS вы должны открыть файл applicationhost.config в папке .vs \ config и вручную найти и отредактировать привязки для вашего приложения.В вашем примере это было бы что-то вроде <binding protocol="http" bindingInformation="*:5000:localhost">
, добавив две новые привязки для a и b <<code>binding protocol="http" bindingInformation="*:5000:a.localhost">
И .... как только вы получите эту работу, ваши маршруты в MVCнеосведомлены о поддомене.Вы не меняете их.