捕获404并重定向到wwwroot

时间:2017-03-17 13:11:00

标签: angular docker .net-core

我在我的API的wwwroot文件夹中托管了一个角色应用。

因此,如果我现在使用localhost:5000启动容器一切正常,我的wwwwroot文件夹中的Angular 2 App就会打开。

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

为了防止这种情况,我发现这篇文章: https://github.com/aspnet/StaticFiles/issues/115#issuecomment-190499717

但它也没有使用docker build。

如果我通过IISExpress进行测试,它就可以了。

1 个答案:

答案 0 :(得分:1)

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

 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}");
      // ...
 }

我想一旦你添加了#'#'在您的网址中,请求由Angular处理。