Как изменить базовый URL? - PullRequest
1 голос
/ 09 мая 2019

Я не уверен, что название вопроса правильное, но я постараюсь объяснить, что мне нужно.

Мы размещаем несколько веб-приложений на одном компьютере, поэтому

https://localhost:8080

и

https://localhost:8081

указывает на различные приложения.

Между тем, запрос карт API-шлюзов без удаления суффикса URL:

https://api.domain.com/service1/Home/Index

превращается в

https://localhost:8080/service1/Home/Index

и

https://api.domain.com/service2/Home/Index

в

https://localhost:8081/service2/Home/Index

Я бы хотел, чтобы корень приложения ~ разрешался в hostUrl+suffix, где суффикс является настроенным значением.

Я использовал этот blogpost для глобального префикса всех маршрутов для контроллеров и страниц, но теперь я борюсь со статическими файлами.

Я могу виртуально двигаться wwwroot:

app.UseStaticFiles(new StaticFileOptions
{
    RequestPath = $"/{GlobalPrefix}"
});

, но <link href="~/bootstrap/css/bootstrap.css" rel="stylesheet" /> не содержит GlobalPrefix часть при визуализации.

Поэтому я хотел бы добавить это GlobalPrefix к любому базовому URL-адресу сайта, на котором он размещен. Будь то приложение для самостоятельного размещения или в IIS.

P.S. RTFM =)

1 Ответ

2 голосов
/ 09 мая 2019

Использование app.UsePathBase("/myPath") (https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.builder.usepathbaseextensions.usepathbase?view=aspnetcore-2.2) в этом случае работает.

В ASP.NET Core 2 произошли изменения относительно этого (http://github.com/aspnet/Announcements/issues/226). Также следует помнить остранное поведение: http://github.com/aspnet/HttpAbstractions/issues/893

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...