捕获404并redirect到wwwroot

我有我的API的wwwroot文件夹中托pipe的angular应用程序。

所以,如果我现在用localhost:5000启动容器,一切正常,我的wwwwroot文件夹中的Angular 2应用程序打开。

但是,如果我做localhost:5000 / asdasdasd这是我的API的路由,因为路由以localhost:5000 / api / getbla开始,我得到404。

为了防止这个,我发现这个职位: https : //github.com/aspnet/StaticFiles/issues/115#issuecomment-190499717

但它也不适用于docker构build。

如果我通过IISExpresstesting它正在工作。

在你的Startup.cs中添加UseStatusCodePagesWithRedirects并设置你的redirect,如果你想为不同的错误代码显示不同的错误页面,你可以设置传递错误代码。

  public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { // ... app.UseStatusCodePagesWithRedirects("/#angularpage"); // Or you can add placeholder for error code as well // app.UseStatusCodePagesWithRedirects("/#angularpage?error={0}"); // ... } 

我认为一旦你在你的URL中添加“#”,这个请求就会被Angular处理。