Базовое веб-приложение ASP.NET Core 2.1.
Startup.cs
содержит следующее:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseMvc();
}
В этом сценарии, когда я пытаюсь перейти к любому HTML-файлу в каталоге webroot (например, project-dir / wwwroot), он не обрабатывается. Каталог webroot содержит файл index.html
и второй файл HTML. Ничего нельзя обслужить, набрав URL.
Если я изменю Startup.cs
на файлы по умолчанию, например:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseMvc();
}
тогда файл index.html
обслуживается. Даже если я введу имя другого файла HTML, я получу файл index.html
(согласно документам). Таким образом, по-видимому, автору URL, вызванному UseDefaultFiles()
, удается правильно это обработать, но почему он не работает по прямому URL?
EDIT
Я сказал выше «когда я пытаюсь перейти к любому HTML-файлу в webroot», но на самом деле я не пробовал «любой» файл, кроме тех, над которыми я работал, у которых были имена, такие как exports.html, index.html или файлы в подпапка называется "ядро". Смотрите мой ответ ниже, что я нашел.