私はランディングページを観察するために、ドメイン名に入れることができないよ:ウェブサイトがデフォルトでindex.htmlにデフォルト設定されていないのはなぜですか?
http://some_url.com
エラー:しかし
Could not find file 'E:\index.html'.
、次のような作品:FYI
: このウェブサイトはElm、Giraffe、.Net Coreで構築されています。
私はランディングページを観察するために、ドメイン名に入れることができないよ:ウェブサイトがデフォルトでindex.htmlにデフォルト設定されていないのはなぜですか?
http://some_url.com
エラー:しかし
Could not find file 'E:\index.html'.
、次のような作品:FYI
: このウェブサイトはElm、Giraffe、.Net Coreで構築されています。
キリンを実行している場合は、F#を実行しています。つまり、サーバーの設定にIApplicationBuilder
を使用している可能性があります。 UseDefaultFiles
、次にUseStaticFiles
を呼び出して、index.htmlをデフォルト文書として使用できるようにする必要があります。
let configureApp (app : IApplicationBuilder) =
app.UseGiraffeErrorHandler errorHandler
app.UseDefaultFiles() |> ignore
app.UseStaticFiles() |> ignore
app.UseGiraffe webApp
UseDefaultFiles
must be called beforeUseStaticFiles
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.
私は次のように指定しませんでした:
let webApp: HttpHandler =
choose [
GET >=>
choose [
route "/" >=> htmlFile "index.html"
このメソッドはルート '/' URLで機能しますが、他のディレクトリのデフォルトドキュメントには継承されません(例えば '/ foo'は'/foo/index.html'を持っていても404です)。 'app.UseDefaultFiles()'アプローチは、ウェブサイト上のすべてのフォルダにロジックを適用します。 –
ちょっとスコット、上記のチャドの答えが私が言うことができるものから正しいと思われます。この場合は、それを答えとして受け入れることを検討してください。 – jpierson
なぜダウン投票?私はウェブ開発者ではないので、どのようにウェブサイトを見ることができ、どのツールが使用されたかについての詳細を提供しました。 –
これはどのような理由であれ、設定された方法です... –
Windows? Linux? IISかどうか?この種の問題が発生する理由はあまりにも多くありますので、質問を投稿するときは何も隠さないでください。 –