سلام خدمت کاربران سایت نونویسان در این مقاله میخواهیم مدیریت خطای ۴۰۴ در Asp.net Core را به شما آموزش بدهیم که کاربرد های زیادی دارد و اصلا نباید پشت گوش بندازید در ادامه با ما همراه باشید تا روش مدیریت و کاربردهای این خطا را به شما بگم.
در صورت تمایل میتوانید مقاله آموزش احراز هویت در Asp.net Core را نیز مشاهده کنید
ممکن است که کاربر شما به هر دلیلی Url را تغییر دهد و وارد صفحه ای شود که وجود ندارد در این مرحله وظیفه شما است که به کاربر ۴۰۴ نمایش دهید تا بفهمد چنین صفحه ای وجود ندارد از طرفی در ابزار های سئو صفحه ۴۰۴ اختصاصی تاثیر مثبت در سئو سایت دارد و در کل بهتر است که هر سایت صفحه مدیریت خطای ۴۰۴ را داشته باشد
حالا برین سراغ اینکه به چه شکل در سایت Asp.net Core ارور ۴۰۴ را مدیریت کنید اول وارد فایل Startup میشوید کد کد زیر را در بخش Configure بعد کد if قرار میدهید
app.Use(async (context, next) =>
{
await next();
if (context.Response.StatusCode == 404)
{
context.Request.Path = "/NotFound";
await next();
}
});
کد بالا بیانگر این است که اگر کاربر وارد صفحه ای شد که وجود نداشت به یک آدرس در مسیر NotFound/ هدایت شود پس باید یک Controller و Action بسازید که میتوانید از HomeController هم استفاده کنید
[Route("NotFound")]
public IActionResult Error404()
{
return View();
}
به Action مورد نظر Route میدهیم و آدرس صفحه را NotFound انتخاب میکنیم اگر قالب شما صفحه اختصاصی ۴۰۴ داشت در View این Action وارد کنید در غیر این صورت خودتان با خلاقیت یک صفحه ایجاد کنید
تفاوت این دو نسخه در تنظیمات است مگرنه هر دو نیاز به Controller و Action دارند تا بتوانند یک View برای نمایش ایجاد کنند برای Mvc وارد فایل Web.Config شوید و در بخش Configuration کد زیر را وارد کنید
در این بخش لازم نیست به Action قابلیت Route بدهید چون نوشته شده وقتی کاربر وارد جایی شد که وجود نداشت برو به Errors/Error404 پس یک Controller به اسم Error و یک Action به اسم Error404 میسازید.
در این آموزش مدیریت خطای ۴۰۴ در Asp.net Core را یاد گرفتید اگر سوالی داشتید در بخش تماس با ما و یا کامنت مطرح کنید.