为什么网站默认不默认为index.html?

时间:2017-12-05 23:07:44

标签: asp.net-core f# .net-core elm

我无法输入域名来观察着陆页:

http://some_url.com

错误:

  

找不到文件'E:\ index.html'。

但是,以下工作:

  

http://some_url.com/index.html

供参考: 该网站由Elm,Giraffe和.Net Core构建。

2 个答案:

答案 0 :(得分:6)

如果您正在运行Giraffe,那么您正在运行F#,这意味着您很有可能使用IApplicationBuilder来配置服务器。您应该可以调用UseDefaultFiles,然后调用UseStaticFiles以将index.html用作默认文档。

let configureApp (app : IApplicationBuilder) =
    app.UseGiraffeErrorHandler errorHandler
    app.UseDefaultFiles() |> ignore
    app.UseStaticFiles() |> ignore
    app.UseGiraffe webApp

来自Serving Static Files

  必须在UseDefaultFiles之前调用

UseStaticFiles来提供默认文件。 UseDefaultFiles是一个实际上不提供文件的URL重写器。您必须启用静态文件中间件(UseStaticFiles)才能提供文件。

答案 1 :(得分:1)

我没有指定以下内容:

let webApp: HttpHandler = 
    choose [
        GET >=>
            choose [
                route "/" >=> htmlFile "index.html"