جهت دیدن آموزش مدیریت خطای 404 در Asp.net Core وارد سایت آموزش برنامه نویسی نونویسان شوید
اگر قصد راه اندازی سایتی را دارید صفحه ارور 404 بخشی است که حتما باید به فکر آن باشید اغلب قالب ها خود صفحه ارور 404 را دارند اما اگر قالب شما این صفحه را در خود ندارد اصلا پشت گوش نندازید و با علم خودهم که شده این بخش رو ایجاد کنید در ادامه هم نحوه مدیریت خطای 404 در Asp.net Core رو بهتون میگم هم کاربرد های که چرا لازمه این صفحه در سایت شما باشه
وقتی کاربرد وارد سایت شما میشود ممکن است به هر دلیلی آدرسی وارد کند که یا وجود ندارد یا قبلا بوده و حذف شده است پس باید به صفحه ای هدایت شود که بفهمد مشکل چیست اما جدا از این یک صفحه ارور 404 شخصی سازی شده در سایت شما در سئو تاثیر زیادی دارد اگر دقت کرده باشید در افزونه WooRank بخشی به ارور 404 شخصی سازی شده اختصاص داده شده است و از لحاظ Ul / Ux هم بسیار زیباتر است که سایت شما یک صفحه مختص این ارور داشته باشد تا کاربر متوجه خطا بشود
حالا بریم سراغ آموزش اینکه چطوری در یک وبسایت Asp.net Core چگونه یک صفحه 404 کاستوم شده ایجاد کنید در مرحله اول به قطعه کدی نیاز دارید که باید در فایل Startup.cs نوشته شود که ما براتون کد رو قرار دادیم
app.Use(async (context, next)=>
{
await next();
if (context.Response.StatusCode == 404)
{
"context.Request.Path = "/NotFound;
await next();
}
});
حالا که کار ما در Startup تمام شد نوبت ساخت ویو برای نمایش به کاربر است در اولین اقدام باید یک Controller درست کنید تا بتوانید از Route ها و ویو ها استفاده کنید
[Route("NotFound")]
public IActionResult Error404()
{
return View();
}
در مرحله اول به این دقت کنید چون از Route استفاده میکنیم دیگه چیزی که در Startup قرار میدیم چیزیه که در Route نوشتیم مرحله بعد نوبت ساخت ویو است روی کلمه View کلیک راست و AddView رو بزنید حالا اگر قالب شما بخش کاستوم شده برای ارور 404 داره در این بخش قرار بدید اگر نه به سلیقه خود بخشی رو طراحی کنید
اگر سایت شما با Mvc نوشته شده بازهم کار راحتی در پیش دارید تفاوت این دو نسخه فقط در تنظیمات هست مگرنه هردو نیاز به Controller و View را دارند برای ایجاد تنظیمات وارد فایل web.config و در بخش configuration کد زیر رو قرار بدید
<system.web>
<customErrors mode="On" >
</ error statusCode="404" redirect="~/Errors/Error404">
<customErrors />
system.web />
آدرسی که در redirect قرار میگیرد صفحه 404 شما میشود حالا طبق کد بالا یک Controller با نام Errors درست میکنیم و یک Action در آن با نام Error404 قرار میدهیم دقیقا مثل کدی که در قسمت زیر آمده است
public class ErrorsController : Controller
{
public IActionResult Error404()
{
return View();
}
}
و در اینجا هم روی View کلیک راست و AddView رو میزنید شما در دو بخش هم میتوانید از Route استفاده کنید ولی ما برای شما هر دو مثال را قرار دادیم تا هر دو روش را یاد بگیرید حتما برای سایت خود صفحه ارور 404 ایجاد کنید حتی میتوانید بعد ایجاد صفحه ارور 404 در جاهایی که NotFound را فراخوانی میکنید صفحه ارور خود را فراخوانی کنید که شخصی سازی کرده اید امیدوارم مقاله براتون مفید باشه موفق باشید