1
A
回答
5
,您可以撥打OwinMiddleware重定向NOTFOUND應答(或任何其他反應)。
class NotFoundMiddleware : OwinMiddleware
{
public NotFoundMiddleware(OwinMiddleware next, IAppBuilder app)
: base(next)
{
}
public override async Task Invoke(IOwinContext context)
{
await Next.Invoke(context);
if (context.Response.StatusCode == 404)
{
context.Response.Redirect("notfound.html");
}
}
}
或直接在響應正文中返回html(即沒有重定向)。
public override async Task Invoke(IOwinContext context)
{
await Next.Invoke(context);
if (context.Response.StatusCode == 404)
{
using (StreamWriter writer = new StreamWriter(context.Response.Body))
{
string notFound = File.ReadAllText(@"Web\notfound.html");
writer.Write(notFound);
writer.Flush();
}
}
}
請注意,您可能需要根據您的具體情況另外編輯響應,但這適用於我的簡單Owin服務器。
而且在Startup.cs,加
app.Use<NotFoundMiddleware>(app);
相關問題
- 1. Owin Katana和MVC
- 2. 在drupal中找不到頁面錯誤
- 3. Owin Middleware中的MVC錯誤處理
- 4. OWIN/Katana selfhost通用處理程序(ashx)未調用
- 5. 未找到頁面錯誤
- 6. 如何在ICEfaces(帶Facelets)中創建錯誤處理頁面?
- 7. 如何處理404 - ocLazyLoad中找不到資源錯誤
- 8. 處理找不到符號錯誤java
- 9. Silverlight不能找到頁面錯誤
- 10. 找不到頁面錯誤導航
- 11. 找不到頁面錯誤PHP
- 12. 如何處理錯誤頁面本身掛在asp.net mvc3?
- 13. 如何處理jQuery Mobile中的頁面更改錯誤
- 14. 如何處理copy_from_user()中的頁面錯誤?
- 15. 錯誤處理頁面/ Facelets的
- 16. Sitecore - 多站點錯誤頁面處理
- 17. 頁面未找到頁眉錯誤
- 18. 如何防止OWIN處理路由
- 19. 在批處理文件中找不到語法錯誤
- 20. IdentityServer3:OWIN Katana中間件拋出「invalid_client」錯誤,因爲它無法獲得令牌
- 21. 如何處理kohana中的500錯誤的自定義錯誤頁面3.3
- 22. 在Freemarker的ftl頁面找不到處理文件
- 23. 在wordpress中找不到錯誤404頁面
- 24. 在Ajax請求中找不到頁面錯誤asp.net mvc
- 25. 在TFS中的SharePoint網站上找不到頁面錯誤
- 26. Asp.net在不同的頁面上處理錯誤
- 27. 404頁面無法找到wordpress管理中的錯誤
- 28. nginx django uwsgi頁面未找到錯誤
- 29. 如何處理Spring中的不同異常的多個錯誤頁面
- 30. 找不到頁面處理,而不改變URL角2
哦,太好了,謝謝,這工作。有沒有辦法顯示未找到頁面沒有重定向?即不要更改瀏覽器中的網址? – Burjua
您可能希望以相同的方式攔截404狀態,但不是重定向,而是修改響應主體以包含一些基本的html(未找到的頁面)。如果您查看www.google.com/foo的回覆,這是他們如何顯示他們的404頁面。 – Zephyr
好吧,知道我可以修改響應正文來返回文本響應,但是在這裏沒有辦法返回html文件嗎? – Burjua