2017-03-17 80 views
0

我有一個角度的應用程序託管在我的API的wwwroot文件夾中。捕捉404並重定向到wwwroot

所以,如果我現在用localhost:5000啓動容器,一切正常,我的wwwwroot文件夾中的Angular 2應用程序打開。

但如果我這樣做本地主機:5000/asdasdasd這是沒有我的API的路線,因爲路線與本地主機開始:5000/API/getbla,我得到404

爲了防止這一點,我發現這個職位: https://github.com/aspnet/StaticFiles/issues/115#issuecomment-190499717

但它也不適用於碼頭構建。

如果我通過IISExpress測試它正在工作。

+0

只是想澄清一下,你的Angular是否管理路線? – Renesansz

+0

.net core api主要管理 – user3110458

+0

我看到了,我以爲Angular正在管理你的路由,我對.net api沒有任何想法。對不起 – Renesansz

回答

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

我認爲一旦你在你的URL請求是由角處理,添加「#」。

+0

did not幫助了我,仍然404 – user3110458

+0

什麼是你想重定向到完整的URL? – Ignas

+0

我不使用散列策略sry,我不想使用它 – user3110458