asp.net-core-3.1 - 如何将中间件配置为仅重定向 404 状态代码
问题描述
遇到 404 时,我想重定向到特定页面。
我已经尝试了几个教程和 StatusCodePages,但没有任何效果。
有没有人有 Core 3.1 的示例,它只重定向 404 而不是所有状态码?
解决方案
这里有几个选项,它们都应该在 .Net Core 中工作。将此添加到 web.config 文件中:
<customErrors mode="Off">
<error statusCode="404" redirect="~/errorPages/PageNotFound.aspx" />
</customErrors>
或者您可以在 Startup.cs 中添加自己的中间件,而不是使用诊断包:
app.Use(async (context, next) =>
{
if(context.Response.Status == 404)
{
// return page
}
else
{
await next.Invoke();
}
// loggin
});
推荐阅读
- symfony-3.4 - API 平台多模式 postgresql
- symfony - 获取图像 null vuejs symfony
- python - 只有在上一个任务成功后,我才能让 Celery 任务运行
- java - 写入文件:Java 中 Gurobi GRBModel 的约束和变量
- reactjs - 在 Material UI 主题中扩展排版
- python - 从一个多索引数据框中选择值以添加到另一个现有多索引数据框中的新列
- javascript - React js Render 在 Fetch 获取价值之前工作
- java - 如何处理硒中的不同语言?
- c# - 如何在wpf c#上删除实例
- java - 具有父子关系的对象的 Java 流分组依据