Почему веб-сайт по умолчанию не использует index.html?
Я не могу ввести доменное имя, чтобы увидеть целевую страницу:
http://some_url.com
Ошибка:
Не удалось найти файл 'E:\index.html'.
Тем не менее, следующие работы:
К вашему сведению: этот сайт был создан с использованием Elm, Giraffe и.Net Core.
2 ответа
Если вы используете Giraffe, значит, вы используете F#, что означает, что у вас есть хорошие шансы IApplicationBuilder
для настройки вашего сервера. Вы должны быть в состоянии позвонить UseDefaultFiles
, затем UseStaticFiles
использовать index.html в качестве документа по умолчанию.
let configureApp (app : IApplicationBuilder) =
app.UseGiraffeErrorHandler errorHandler
app.UseDefaultFiles() |> ignore
app.UseStaticFiles() |> ignore
app.UseGiraffe webApp
Из обслуживания статических файлов:
UseDefaultFiles
должен быть вызван доUseStaticFiles
обслуживать файл по умолчанию.UseDefaultFiles
перезаписывающий URL, который на самом деле не обслуживает файл Вы должны включить статическое файловое промежуточное ПО (UseStaticFiles
) для подачи файла.
Я не указал следующее:
let webApp: HttpHandler =
choose [
GET >=>
choose [
route "/" >=> htmlFile "index.html"