2017-12-05 3 views
0

나는 방문 페이지를 관찰하기 위해 도메인 이름에 넣어 드릴 수 없습니다 :기본적으로 웹 사이트의 기본값은 index.html이 아닙니다.

http://some_url.com 

오류 : 그러나

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

, 다음 작품 : 참고로

http://some_url.com/index.html

: 이 웹 사이트는 Elm, Giraffe 및 .Net Core로 제작되었습니다.

+0

왜 다운 투표? 저는 웹 개발자가 아니므로 웹 사이트를 볼 수있는 방법과 사용 된 도구에 대한 세부 정보를 제공했습니다. –

+0

그것이 어떻게 구성 되었는가? 어떤 이유로 ... –

+2

Windows? 리눅스? IIS가 아닌가요? 이런 종류의 문제가 발생할 수있는 이유는 너무 많습니다. 질문을 게시 할 때 아무 것도 숨기지 마십시오. –

답변

6

기린을 실행 중이라면 F #을 실행하고 있습니다. 즉, IApplicationBuilder을 사용하여 서버를 구성 할 수 있습니다. UseDefaultFiles을 호출 한 다음 UseStaticFiles을 호출하여 index.html을 기본 문서로 사용할 수 있습니다. Serving Static Files에서

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

:

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