Код: Выделить всё
// Only serve static files for requests that don't start with /api to avoid any conflicts
app.MapWhen(
context => !context.Request.Path.StartsWithSegments("/api"),
staticFilesApp =>
{
if (redirectHttpToHttps)
{
staticFilesApp.UseHttpsRedirection();
}
var fileProvider = new PhysicalFileProvider(Path.GetFullPath("/home/myuser/myapp/system/wwwroot"));
staticFilesApp.UseStaticFiles(new StaticFileOptions { FileProvider = fileProvider });
Console.WriteLine($"File Provider root: {fileProvider.Root}, {Directory.Exists(fileProvider.Root)}");
staticFilesApp.UseRouting();
staticFilesApp.UseEndpoints(endpoints =>
{
endpoints.MapFallbackToFile("index.html");
});
}
);
wrn microsoft.aspnetcore.staticfiles.staticfilemiddle]. WebRootPath не был найден:/home/myuser/myApp/wwwroot. Статические файлы могут быть недоступны. < /P>
< /blockquote>
Показанный здесь путь отличается, по сути, это путь по умолчанию с «wwwroot» непосредственно в папке, где запускается приложение. Путь, который я установил вручную в коде, находится в папке «Система/wwwroot» относительно приложения, которая, по -видимому, полностью игнорируется. В команде журнала я подтвердил, что физический флеповайдер имеет правильный путь, установленный как root, и что этот путь действительно существует. < /P>
обслуживание статических файлов также вообще не работает. Если я скопирую папку wwwroot в место по умолчанию по адресу "/home/myuser/myapp/wwwroot", то статическое обслуживание файлов действительно работает.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... atic-files