خطای 500 Internal Server error
(به معنای مشکل در سرور داخلی500 ) میباشد یکی از متداولترین کد وضعیتهای HTTP در رنج کدهای 5xx است. ارور 500 به این معنا است که موضوع یا مسئلهای اشتباه بر روی سرویسدهندهی وبسایت (سرور یا هاست) قرار دارد که سرور یا سرویسدهنده قادر به تشخیص دقیق مشکل نیست که وجود این خطا در مدت زمان طولانی مثلا بالای ۶ ساعت، تاثیری بسیار نامناسب بر روی سئو و بازاریابی آنلاین کسب وکار شما دارد.(روندسافت)
رفع خطای 500 سمت کاربران
- مرورگر خود را بارگذاری کنید. میتوانید این کار را با کلیک کردن بر دکمه بارگذاری مجدد (Refresh) و یا فشردن دکمه F5 (صفحهی کلید) و یا امتحان دوبارهی نشانی اینترنتی در نوار آدرس، انجام دهید.
حتی اگر خطای 500 Internal Server، مشکلی در سرور وب باشد، مسئله ممکن است موقتی باشد. تلاش دوباره برای دسترسی به صفحه، در بیشتر موارد موفقیتآمیز خواهد بود.
راه دیگر این است که وارد ادرس downforeveryoneorjustme.com شده و همانند عکس زیر نام ادرسی که قرار هست وارد شوید را بزنید، مثلا در اینجا ravandsoft.irتایپ شده. اگر با پیغام Up مواجه شدید به این معنی است که سیستم شخصی شما مشکلاتی دارد و اگر Down روبهرو شدید به احتمال زیاد مشکل از سمت شما نبوده و سرور مشکلاتی دارد.ابزاری آنلاین جهت فهمیدن اینکه ایا سایت up هست یا down
- حافظهی پنهان مروگر خود را پاک کنید. حافظه پنهان یا کش (cache) گفته میشود، اگر مشکلی در ارتباط با نسخه کش مربوط به صفحه در حال بازدید پیدا شود، این امر ممکن سبب بروز HTTP 500 شود.
توجه: خطاهای سرور داخلی غالبا ناشی از مسائل مربوط به کش نیست ولی من مواردی را دیدهام که پس از پاکسازی، این خطا رفع شده است. این کار آسان و بیخطر است بنابراین نسبت به آن بیتفاوت نباشید. - کوکیهای مرورگر خود را حذف کنید. کوکی (cookies) دادههای بسیار کوچکی هستند که وقتی شما از سایتی بازدید میکنید به سمت مرورگر شما ارسال میشود، برخی از مسائل مربوط به خطای 500 Internal Server را میتوان با حذف کوکیهای مرتبط با سایتی که شما در بازدید از آن با خطا مواجه شدهاید را تصحیح کرد.
پس از حذف کوکیها، مرورگرتان را راهاندازی مجدد کنید و آن را (جهت دستیابی به وبسایت مورد نظرتان) دوباره امتحان کنید. -
این خطا را همانند خطای 504 عیبیابی کنید.
برخی سرویسدهندهها، خطای 500 Internal Server را وقتی نمایش میدهند که خطای 504 وجود داشته باشد؛ البته این امر خیلی معمول نیست.
- تماس مستقیم با وبسایت، گزینهی دیگر است. مدیران وبسایتها به احتمال زیاد از بروز خطای 500 آگاه هستند اما چنانچه شما گمان میکنید آنها از این امر اطلاع ندارند، خوب است آنها را نسبت به آن آگاه سازید.
نکته جالب: در توییتر معمولا زمانی یک سایت به طور کامل Down یا به اصطلاح خوابیده میشود، به ویژه اگر سایت Down شده جز وبسایتهای محبوب و پرمخاطب باشد، مملو از بحث های در قالب تویت میشود و اگر مثلا شما چنین مشکلی خوردید در سایت های بزرگ، میتوانید به این شبکه ها سر بزنید و با یک جستجو به اطلاعات لازم درباره خطاهای اخیر در آن سایت میرسید. مثلا میتوان از هشتک های مثل #websitedown در توییتر استفاده کرد برای پیدا کردن یک سایت خاص. به عنوان مثال زمانی که سایت فیسبوک برای مدت کوتاهی Down شد هشتک facebookdown در این شبکه اجتماعی مورد استفاده زیادی قرار گرفت. یا سایت آمازون هم در این شبکه اجتماعی مورد هدف کاربران گرفته و با هشتک amazondown تویت های بسیاری را میبینیم. در واقع این روش، ترفندی عالی برای اطلاع از وضعیت دیگر سایتها به جز توییتر است. - بعدا مراجعه کنید. متاسفانه در رابطه با خطای 500 Internal Server بایستی گفت که این خطا بدون تردید خارج از کنترل شما (کاربران سایت) است و در نهایت بایدتوسط کسی دیگر (مدیر وبسایت) رفع شود.
اگر پیغام ارور 500 به هنگام خرید آنلاین پدیدار میشود، ممکن است ناشی از ایجاد اختلال در سایت باشد- معمولاَ در این حالت، انگیزهای قوی برای رفع آن در اسرع وقت توسط فروشگاه آنلاین ایجاد میشود. اگر شما حتی در سایتهایی که برای خرید و فروش نیستند مانند یوتیوب، توییتر، ایسنتاگرام و یا تلگرام مشکل 500 برخوردید، کمترین کار ممکنی که میتوانید انجام دهید، صبر کردن است .
رفع خطای 500 سمت ادمین یا مدیران
همانطور که در بالا ذکر شد علت خطای 500 Internal Server در سمت سرور یا هاست است و ممکن است نحوه کدنویسی (اسکریپت) موجود در هاست مشکلاتی را به وجود بیاورد.
دلایل زیادی وجود دارد که چرا سایت شما خطای 500 را به کاربرانتان نمایش دهد، اما از متداولترین دلایل بروز این خطا عبارتند از:
- خطا در دسترسی (Permissions Error) ارور 500 Internal Server در بسیاری از موارد به علت اجازه یا دسترسی نادرست در یک یا بیش از یک فایل یا پوشه (فولدر یا دایرکتوری) است. یک دسترسی نادرست در اسکریپت PHP و CGI در بسیاری از موارد علت اصلی است. این موارد معمولاَ باید به صورت 0775 دسترسی داده شود.
- وقفه در پی اچ پی (PHP Timeout). اگر اسکریپت شما به منابع خارجی متصل باشد و در آن منابع وقفه ایجاد شود، یک خطای HTTP 500 میتواند رخ دهد. مقررات مربوط به وقفه و یا بررسی خطا در اسکریپت شما چنانچه علت بروز خطای 500 باشند، میتوانند (جهت رفع خطا) کمککننده باشند.
- خطای کدنویسی در htaccess این خطا اگرچه خیلی متداول نیست، اما از بررسی آن در وبسایت خود و ساختار درست htaccess اطمینان پیدا کنید.
موارد دیگری که ممکن است با خطای سرور داخلی 500 مواجه شوید
در برخی مرورگرهای اینترنت، پیغام The website cannot display the page، غالباَ زمانی نمایش میشود که ارور 500 Internal Server به وجود بیاید ولی گاهی در این مرورگرها در خطای 405 چنین پیغامی را هم نشان میدهد که شما در این صورت باید عنوان صفحه را مشاهده نمایید تا دریابید که خطای 500 است و یا خطای 405.
وقتی سرویسهای گوگل مانند جیمیل یا گوگلپلاس ویا تلگرام با خطای 500 Internal Server مواجه میشوند، غالباَ این پیام به شکل موقت بوده و شاید کمتر از ۵ دقیقه هم حل شود.
مطالب خواندنی : بهینه سازی و رفع خطای 500 Internal Server(بخش اول)
اگر وبسایتی که خطای 500 را گزارش میدهد، در حال اجرای مایکروسافت IIS باشد، شما ممکن است با پیغام خطای اختصاصیتری نظیر آن چه که در زیر آمده مواجه شوید:
500.0 - Module or ISAPI error occurred. 500.11 - Application is shutting down on the web server. 500.12 - Application is busy restarting on the web server. 500.13 - Web server is too busy. 500.15 - Direct requests for Global.asax are not allowed. 500.19 - Configuration data is invalid. 500.21 - Module not recognized. 500.22 - An ASP.NET httpModules configuration does not apply in Managed Pipeline mode. 500.23 - An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode. 500.24 - An ASP.NET impersonation configuration does not apply in Managed Pipeline mode. 500.50 - A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred. Note Here is where the distributed rules configuration is read for both inbound and outbound rules. 500.51 - A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred. Note Here is where the global rules configuration is read. 500.52 - A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred. 500.53 - A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated. 500.100 - Internal ASP error. ravandsoft