捕获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处理。
- 在Windows的Windows子系统中运行Docker中的.Net Core
- 如何在.NET核心应用程序泊坞窗图像中包含依赖关系?
- “dotnet恢复”失败,“SSL对等证书或SSH远程密钥不正确”
- dotnet核心应用程序不从docker容器写入WebDAV
- 如何从Visual Studio Mac的容器中debugging多个dot.net核心服务
- 在docker中使用.net核心build立DB2连接时,无法加载DLL“libdb2.so”
- 用Travis CItestingASP.NET Core Docker容器
- 从Docker Windows容器远程debugging.Net Core控制台应用程序时,Visual Studio 2017不加载debugging符号
- 无法使用入口点运行泊坞窗容器