2017-12-05 10 views
0

私はランディングページを観察するために、ドメイン名に入れることができないよ:ウェブサイトがデフォルトでindex.htmlにデフォルト設定されていないのはなぜですか?

http://some_url.com 

エラー:しかし

Could not find file 'E:\index.html'.

、次のような作品:FYI

http://some_url.com/index.html

: このウェブサイトはElm、Giraffe、.Net Coreで構築されています。

+0

なぜダウン投票?私はウェブ開発者ではないので、どのようにウェブサイトを見ることができ、どのツールが使用されたかについての詳細を提供しました。 –

+0

これはどのような理由であれ、設定された方法です... –

+2

Windows? Linux? IISかどうか?この種の問題が発生する理由はあまりにも多くありますので、質問を投稿するときは何も隠さないでください。 –

答えて

6

キリンを実行している場合は、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 must be called before UseStaticFiles to serve the default file. UseDefaultFiles is a URL re-writer that doesn't actually serve the file. You must enable the static file middleware (UseStaticFiles) to serve the file.

0

私は次のように指定しませんでした:

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

このメソッドはルート '/' URLで機能しますが、他のディレクトリのデフォルトドキュメントには継承されません(例えば '/ foo'は'/foo/index.html'を持っていても404です)。 'app.UseDefaultFiles()'アプローチは、ウェブサイト上のすべてのフォルダにロジックを適用します。 –

+0

ちょっとスコット、上記のチャドの答えが私が言うことができるものから正しいと思われます。この場合は、それを答えとして受け入れることを検討してください。 – jpierson

関連する問題