>

IIS를 사용하여 Angular SPA를 .NET Core 앱에 배포하고 있습니다.

제작 Angular 빌드 (ng build --base-href/ng --deploy-url/ng)를 만들고 ng 디렉토리의 wwwroot에 배포합니다.

index.html에 대한 각도 URL로 수동으로 갈 때 현재 작동 중입니다.

https://localhost:44316/ng/index.html

그러나 URL을 새로 고치거나 수동으로 탐색하면 404가 표시됩니다.

https://localhost:44316/ng/dash

Angular에 따르면 URL 리디렉션없이이 문제가 발생한다고합니다. 각도 문서 에서 규칙을 web.config에 다시 씁니다.

그러나 .NET Core를 사용하고 있으며 팀원 중 한 명이 web.config XML을 수정하는 것이 오래된 방법이라고 알려주었습니다. 이 다시 쓰기 규칙을 적용하려면 appsettings.json을 수정해야합니다.

수 .... 이전에 한 사람 있나요? 전달을 설정하기 위해 web.config를 수정하지 않으면 어떻게 설정합니까?

  • 답변 # 1

    해시 전략을 사용하여 이것이 서버 구성이 잘못되었음을 확인 했습니까? 일반적으로 404는 서버가 "주요 각도 페이지"(지정한 index.html)를 가리 키지 않을 때 발생합니다.

    해시 전략을 사용하려면이 매개 변수를 RouterModule 가져 오기에 추가하면됩니다 :

    와이즈 비즈 little

    이 작은 코드 스 니펫을 어디서 찾았는지 잊어 버렸습니다. Startup.cs의 Configure ()에서 다음을 사용했습니다.

    RouterModule.forRoot(routes, {useHash: true})

    기본적으로 내 ng 디렉토리의 모든 페이지에서 URL을 변경하지 않고 index.html을로드합니다.

    app.Run(async (context) => { context.Response.ContentType = "text/html"; await context.Response.SendFileAsync(Path.Combine(env.WebRootPath, "ng/index.html")); });

  • 이전 quicksort - 빠른 정렬은 병합 정렬보다 느립니다
  • 다음 c# - ErrorProviderClear () 문제