آموزش ریدایرکت کردن صفحات خطا با htaccess
مطمئنا تا بحال برای شما هم پیش امده که داخل سایت های اینترنتی با صفحات 404 یا صفحات خطا مواجه شده باشید. برای مثال می خواهید به یک سایت آموزشی مراجعه کنید و آن رو در گوگل سرچ می کنید و روی لینک می زنید به هر دلیلی صفحه مورد نظر را برای شما باز نمی کند و اروری مشاهده میکنید. این صفحه ی خطا در حالت عادی ظاهر زیبایی نداره و این از نظر گوگل خوب نیست و برای سایت شما یک امتیاز منفی محسوب میشه. در این قسمت از آموزش وردپرس می خواهیم به شما بیاموزیم که چطور می توانید یک صفحه ی خطای زیبا درست کنید. پس با ما همراه باشید.
ریدایرکت کردن صفحات خطای سفارشی با htaccess
هنگامی که سرور وب سایت شما یک پیام کد وضعیت خطا میفرستد این پیام بر روی بعضی از صفحات پیش فرض سایت شما ظاهر می شود و این برای سایت شما از نظر گوگل خوب و حرفه ای نیست. پس بهترین راه این است که هنگام نمایش ارور های سرور و یا به صورت کلی تمامی ارور های ممکن یک صفحه با ظاهر خوب و سفارشی که توسط شما ایجاد شده است نمایش داده شود
برای ساختن این صفحه خطای سفارشی راه های زیادی وجود دارد. شما می توانید از زبان سمت سرور برای جستجوی کد های خطا قبل از نمایش یک صفحه و راهنمایی بازدید کنندگان به ان صفحه سفارشی که برای ان خطا ساختید استفاده کنید. یک راه ساده تری که وجود دارد این است که شما از فایل htaccess برای راهنمایی کاربران به صفحه ای که ساختید موقعی که کد خطای سرور نمایش داده می شود استفاده کنید.
برای راهنمایی کاربران به صفحه ی سفارشی که ساختید می توانید از کد های زیر استفاده کنید.
ErrorDocument 400 /400.html ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html ErrorDocument 502 /502.html ErrorDocument 504 /504.html
شما میتوانید کد های فوق را درون فایل htaccess خود قرار دهید.اما برای این منظور روشی دیگر نیز وجود دارد.
نمایش صفحات خطا با استفاده از زبان PHP
اگر شما مطابق کد های بالا نمی خواهید که هفت صفحه ی مختلف برای کد های خطا درست کنید و تمایل دارید که صفحه کد خطای خود همان صفحه ای که برای شما نمایش داده می شود ولی با ظاهری زیبا تر و حرفه ای تر باشد بهترین راه استفاده از کد PHP است.برای این منظور در اولین قدم باید از کد های زیر برای ریدایرکت خطا ها به صفحه مشخص شده در کد ها یعنی error-code.php استفاده کنید
ErrorDocument 400 /error-code.php ErrorDocument 401 /error-code.php ErrorDocument 403 /error-code.php ErrorDocument 404 /error-code.php ErrorDocument 500 /error-code.php ErrorDocument 502 /error-code.php ErrorDocument 504 /error-code.php
حال شما باید صفحه ای به شکل error-code.php ایجاد کنید و سپس درون ان از کد های زیر استفاده نمائید.البته توجه داشته باشید که باید متن های موجود در کد زیر را به سلیقه خود تغییر دهید و سپس در فایل ایجاد شده قرار بدهید.
<?php switch($_SERVER["REDIRECT_STATUS"]){ case 400: $title = "400 Bad Request"; $description = "The request can not be processed due to bad syntax"; break; case 401: $title = "401 Unauthorized"; $description = "The request has failed authentication"; break; case 403: $title = "403 Forbidden"; $description = "The server refuses to response to the request"; break; case 404: $title = "404 Not Found"; $description = "The resource requested can not be found."; break; case 500: $title = "500 Internal Server Error"; $description = "There was an error which doesn't fit any other error message"; break; case 502: $title = "502 Bad Gateway"; $description = "The server was acting as a proxy and received a bad request."; break; case 504: $title = "504 Gateway Timeout"; $description = "The server was acting as a proxy and the request timed out."; break; } ?>
به همین سادگی صفحه خطای سفارشی شما ایجاد میشود و البته خطاهای شما نیز به این صفحه زیبا هدایت میشود.
در صورت بروز مشکل و یا سوالی در بخش کامنت ها با ما در ارتباط باشید.
موفق باشید