چهارشنبه، اردیبهشت ۰۷، ۱۳۸۴

نمایش پیغام های خطای سفارشی در مووبل تایپ

به پیغام هایی که در اثر بوجود آمدن یک خطا در سرور برای کاربری که در حال دیدن یک صفحه خاص از یک سایت است به نمایش در می آید می گویند. معمول ترین این خطا ها error 404( به معنای پیدا نشدن فایل = File Not Found) و error 403 ( مجاز نبودن دسترسی = Access Forbidden) هستند. پیغام error 404 زمانی نشان داده می شود که کاربری قصد بازدید از صفحه ای را دارد که اصلا در سرور سایت وجود ندارد. پیغام error 403 هم زمانی نشان داده می شود که کاربری قصد ورود به بخشی از سایت را دارد که توسط دارنده سایت اجازه دسترسی عمومی برای آن تعریف نشده است (مثلا قسمت مدیریت یک سایت).

سفارشی سازی پیغام های خطا

در مووبل تایپ شما می توانید بسته روش انتشار وبلاگ یا وب سایت تان ( استاتیک یا دینامیک) برای دو خطای گفته شده در بالا صفحات خطای شخصی سازی بسازید.

- نمونه از صفحه خطای پیش فرض

+ نمونه ای از صفحه خطای سفارشی

ساخت صفحات خطای سفارشی در روش استاتیک

اگر در هاست شما از سرور Apache استفاده می شود (تقریبا در اکثر جاها از این سرور استفاده می شود) شما با ساختن و ویرایش فایل .htaccess file صفحات سفارشی تان را درست کنید. برای این کار نیاز به انجام سه مرحله زیر دارید. این کار ها را به ترتیب انجام دهید.

1. ساختن صفحات Html سفارشی برای error های 404 و 403

ابتدا دو فایل با طراحی دلخواه و مناسب برای پیغام های 404 و 403 درست کنید. آنها را پسوند .html ذخیره کنید (مثلا در front page این کار بکنید). محتویات این فایل ها کاملا به دلخواه شماست. فقط سعی کنید محتوای آنها متناسب با پیغام خطا ها باشد. آنها در دایرکتوری public_html هاست تان آپلود کنید ( از طریق cpanel هاستتان براحتی به این دایرکتوری دسترسی دارید).

2. ساختن یا ویرایش فایل .htaccess

در داخل دایرکتوری public_html و یا یکی از زیر دایرکتوری های موجود در آن ممکن است شما فایل .htaccess داشته باشید. اگر این فایل را پیدا نکردید هم مشکلی نیست کافییست یک ادیتور ساده مثل Note Pad رو باز کنید و آنرا با پسوند .htaccess ذخیره کنید و آنرا در دایرکتوری public_html آپلود کنید. در هر صورت در حال حاضر باید این فایل هاست خود داشته باشید. حالا کافیست یکبار دیگر آن فایل را باز کنید و دو خط زیر را به آن اضافه کنید.

ErrorDocument 403 PATH
ErrorDocument 404
PATH

حالا باید بجای کلمه PATH در دو خط بالا مسیر آپلود این فایل در هاست تان را وارد کنید. مثلا اگر این دو فایل را مستقیما در دایرکتوری public_htm قرار داشته باشید, می توانید دو خط بالا را بصورت زیر اصلاح کنید.

ErrorDocument 403 /403.html
ErrorDocument 404 /404.html

3. آپلود کردن فایل .htaccess ویرایش شده تان در سرور با استفاده از FTP

کار خاص دیگری نمانده است. کافیست درستی عملکرد صفحات خطا های سفارشی شده تان را آزمایش کنید. با استفاده از این روش می توانید صفحات مربوط به خطا های 400, 401و 500 را نیز تغییر دهید. هر چند به نرت چنین صفحاتی برای کاربران نمایش داده می شوند.

ساخت صفحات خطای سفارشی در روش دینامیک

اگر شما از شیوه دینامیک برای انتشار وبلاگ یا وب سایت تان استفاده می کنید, در هنگام بوجود آمدن خطای پیدا نشدن صفحه در سرور مووبل تایپ پیغام موجود در قالب خطای صفحات دینامیک Dynamic Pages Error Template را به بازدید کنندگان نشان می دهد. بطور پیش فرض کد های این قالب به قرار زیر است :

<p>The requested page could not be found.</p>
<h4 class="error-message"><$MTErrorMessage$></h4>

البته در راهنمای سایت مووبل گفته شده است که تگ $MTErrorMessage$ تنها در قالب خطای کامنت گذاری Comment Error Template قابل استفاده است. به این صورت که در هنگام پروسه نظر دهی کاربران در صورت بوجود آمدن اشکال و ناقص ماندن کار, به جای این تگ متن متناسب با آن خطا نمایش داده می شود. ولی با این حال از تگ در قالب مربوط خطای صفحات دینامیک نیز می توان استفاده کرد. لذا می توان گفت در صورت بوجود آمدن خطای سروری این تگ بطور خودکار پیغام مناسب را نمایش خواهد داد. شما می توانید برای سفارشی سازی این صفحه متن بین دو تگ باز و بسته p را به دلخواه تغییر دهید و یا کلا هر گونه ویرایشی را انجام دهید.

تکمیل : در نسخه 3.12 مووبل تایپ تگ جدیدی به نام <MTHTTPErrorCode> معرفی شده است. این تگ تنها در صفحات دینامیک کاربرد دارد و با اندکی کد نویسی php از آن می توان برای نمایش پیغام مختلف برای خطای گوناگون استفاده کرد.

منبع : Elise

در همین زمینه : چند مقاله در همین زمینه به زبان انگلیسی

Dynamic Pages Custom Error Messages

Error code definitions

A good discussion on 404 error codes

Apache.org tutorial on .htaccess

مشاهده : نمونه چند صفحه خطای سفارشی جالب

Nothing here by that name
Sorry, but that page you were looking for can't be found.
It appears you've landed on a page that doesn't exist.
Tried to dash in from the rain?

۳ نظر:

rooh.blogger گفت...

امیر جون سلام. خوبی؟ آقا من هیچ ای میلی از شما دریافت نکردم. یه قالب سبک و ساده و حرفه ای تو دست و بالت هست بدی به من برای وبلاگم؟ من جمعه باید قالب عوض کنم و هیچی ندارم بگذارم جاش. مخلصیم!

sani گفت...

jaleb bood. movable typo goftama. shad bashi

rooh.blogger گفت...

آقا دستت درست شرمنده کردی.خیلی خیلی ممنون