خطای ۵۰۰ یا Internal Server Error
سلام دوستان به تیکتم خوش آمدید. در این مطلب با رفع خطای ۵۰۰ یا Internal Server Error در خدمت شما هستیم.
خطای ۵۰۰ یا Internal Server Error به معنای “خطای سرور داخلی” است. این خطا به دلایل بسیار متنوعی ایجاد شود. خطای ۵۰۰ یکی از رایج ترین خطاهای سمت سرور میباشد که بنابر هر دلیل و مشکلی که از طرف سرورهای داخلی سایت وجود داشته باشد، نشان داده میشود. رایج ترین دلیل بروز این خطا می تواند از اعمال سطح دسترسی یا Permission نادرست بر روی فایل ها و دایرکتوری ها، Ownership نادرست در هاست، کدهای نادرست در فایل php.ini یا فایل.htaccess، درخواست های نامعتبر از سمت اسکریپت سایت و یا دلایل دیگری باشد.
این خطا با توجه به نام آن بسیاری از کاربران را به این اشتباه می اندازد که مشکلی در سرور وجود دارد. ولی در واقع سرور مشکلی ندارد و با اعمال تغییرات در تنظیمات پیکربندی سایت معمولاً قابل رفع می باشد. ممکن است بگویید این سایت کاملا سالم بوده و با همین تنظیمات کار میکرده است. اما باید توجه داشته باشید نرمافزارهای روی سرور بصورت مداوم در حال بروزرسانی میباشند، ممکن است بروزرسانیها از نسخهای به نسخهی دیگر باعث انجام تغییرات اساسی در سرور شوند و این تغییرات مغایر با تنظیمات قبلی شما باشد و این امر مسبب بروز این خطا شود.
جزئیات کاملی از خطاهای سایت در فایل Error Logs همیشه ذخیره می شود. که میتوانید در زمان مشاهدهی خطای ۵۰۰ با مراجعه به آن اطلاعاتی در مورد عامل ایجاد این خطا دریافت کنید. این فایل در قسمت File Manager در هاست شما وجود دارد. که لیستی از خطاهای سایت را همراه با تاریخ و جزئیات ارائه می دهد.
نمونه ای از خطای ۵۰۰:
عوامل بروز خطای ۵۰۰ چیست و چگونه آنها را رفع کنیم:
Bad Permission, Writable by Group: .یکی از اولین مشکلات برهم زدن سطح دسترسی فایل ها و پوشه ها توسط کاربر است، ممکن هست شما تنظیماتی را اعمال کرده باشید و یا به طور اتفاقی این تنظیمات اعمال شده باشد و اجازه و دسترسی فایل ها و پوشه ها مناسب برای وب سایت شما نباشد. در این صورت شما باید سطح دسترسی پوشه ها را به ۷۵۵ و فایل ها را ۶۴۴ برگردانید و از اعمال شدن سطح دسترسی ها اطمینان حاصل کنید. به پوشه های tmp و cache بیشتر توجه کنید و سطح دسترسی این دو پوشه را هم چک کنید.
خطایی که بخاطر سطح دسترسی پوشه ها بیش از حد رخ می دهد. در فایل Error Logs این خطا را اینگونه مشاهده میکنید:
[php] [Sun Jun 05 12:03:22 2012] [error] [client 66.249.72.82] SoftException in Application.cpp:601: Directory “/home/exampleuser/public_html” is writeable by group [/php]در این مثال، سطح دسترسی پوشه غیر مجاز تعریف شده است. برای رفع این مشکل سطح دسترسی پوشه را از ۷۷۷ به ۷۵۵ تغییر دهید. سطح دسترسی دایرکتوریها و پوشه ها ۷۵۵ می باشد. اسکریپت های اجرایی شامل پوشه ی cgi-bin نیز دارای سطح دسترسی ۷۵۵ می باشند.
• Files – ۶۴۴ شامل تصاویر، فایل های چندرسانهای و فایل های متنی
• CGI Scripts – ۷۵۵
• Directories – ۷۵۵
برای این کار سطح دسترسی ها را از طریق File manager واقع در دسته بندی Files در Cpanel یا سرویس گیرندهی FTP و یا از طریق دستورات chmod در SSH/Bash ویرایش کنید.
Bad .htaccess, Invalid code, command, or syntax
ممکن است کاربران در فایل .htaccess خطوطی را اضافه کنند که در اثر عدم دانش کافی و بی دقتی حاوی کلمات نادرست یا متضاد با تنظیمات سرور باشند. در این حالت خطای ۵۰۰ رخ خواهد داد. بهترین روش برای رفع این مشکل ، تبدیل خطوط مشکل دارد در فایل .htaccess به توضیحات یا Comment می باشد که کافی است در ابتدای خطوط کاراکتر # را درج کنید و فایل را ذخیره نمایید. برای مثال اگر محتوای فایل .htaccess شما به صورت زیر باشد:
p style=”text-align: left;”>[php] DirectoryIndex default.html
AddType application/x-httpd-php5 php [/php]
[php] DirectoryIndex default.html
#AddType application/x-httpd-php5 php[/php]
خطوطی که با php_flag شروع می شوند معمولا دچار خطا می شوند و می بایست آن ها را کامنت کنید.
[php] Other common .htaccess errors [/php]
مشکل FollowSymlinks:
در این حالت خطایی مشابه ذیل خواهید داشت:
[php] [Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here [/php]
این خطا به سادگی قابل رفع می باشد. کافی است در فایل مورد نظر ، دستور مجاز «SymlinksIfOwnerMatches» را به جای «FollowSymlinks» استفاده کنید یا خط مربوطه را حذف نمایید.
مشکل Syntax Not Closed:
در این حالت خطایی مشابه ذیل خواهید داشت:
[php] [Sun Jun 05 12:11:38 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: <IfModule>ExampleRule/Module> was not closed.
[/php]
باز هم به سادگی می توانید این خطا را رفع کنید و یا آن را حذف نمایید. در این مورد دستور </IfModule> را به درستی پایان دهید :
[php] ExampleRule [/php]
موارد ذکر شده تعداد کمی از خطاهایی هستند که در اثر دستورات نادرست در فایل .htaccess ایجاد میشوند. ولی بطور کلی پیغام های خطا به اندازهی کافی در تشخیص خطا شما را راهنمایی می کنند و میتوانید با دقت در خطاها به راحتی آن ها را رفع نمایید.
Improperly configured php.ini:
خطاهایی که در فایل php.ini می تواند رخ دهد به صورت زیر می باشند:
مشکل ForceType :
زمانیکه از فایل های با پسوند یا بدون پسوندی متفاوت از پسوندهای معمول استفاده میکنید، میتوانید از ForceType در فایل .htaccess استفاده کنید و نحوهی استفاده از آن در سرور را تعیین کنید.البته در تمامی فایل های موجود در پوشه ی مربوطه و سرور های بدون phpsuexec اینگونه است.
برای مثال، وقتی شما فایلی با نام item دارید و می خواهید در سرور بعنوان فایل php تعریف شود، می توانید از کد زیر در فایل .htaccess استفاده کنید:
[php] ForceType application/x-httpd-php [/php]
البته در سرور هایی که دارای phpsuexec می باشند با کد فوق خطای Internal Server Error دریافت خواهید، که این مشکل به راحتی با استفاده از SetHandler بجای ForceType در فایل .htaccess رفع خواهد شد:
[php] SetHandler application/x-httpd-php [/php]
مشکل php_value :
در سرور های بدون phpsuexec می توان از php_value در فایل .htaccess برای تغییر تنظیمات php استفاده کرد. در سرورهای دارای phpsuexec استفاده از این دستور خطای Internal Server Error را ایجاد می کند. برای رفع این خطا شما میتوانید از فایل php.ini که در همان پوشهای که فایل .htaccess قرار دارد موجود است. در فایل php.ini میتوانید تمامی تنظیمات مربوط به php را تغییر دهید. برای مثال اگر شما میخواهید short_open_tag را برابر با off قرار دهید، شما باید از short_open_tag? = off در فایل .htaccess استفاده کنید. با استفاده از فایل php.ini نتیجه به این صورت میشود:
[php] [PHP]
short_open_tag = Off [/php]
یکی از اصلی ترین دلایل رخداد خطای ۵۰۰ Internal Server Error به دلیل اعمال کد های اشتباه در فایل .htaccess هاست می باشد.
درصورتی که شما بازدیدکننده این وبسایت یا سرور باشید به دلیل آن که این خطا از سمت سرور است، کاری نمیتوانید برای برطرف کردن آن انجام دهید. اما موارد هستند که به حل شدن این مشکل و دسترسی به محتوای آن صفحه کمک میکنند. این خطا را به مدیر سایت گزارش دهید. درصورتی که مشکل از طرف سرور باشد، باید تا رفع این خطا صبر کنید.
درصورتی که به محتوای آن صفحه نیاز دارید میتوانید از نسخه کش شده آن استفاده کنید. برخی از سرویسهای اینترنتی صفحات وبسایت را به صورت کش ذخیره کرده و به کاربران نشان میدهند.
کش مرورگر خود را پاک کنید زیرا ممکن است این مشکل صفحه مورد نظر حل شده باشد ولی محتوای صفحه خطا همچنان به کاربر نشان داده شود.
ما امیدواریم که توانسته باشیم با ارائه روش های بالا برای حل کردن مشکل سایتتان به شما کمک کرده باشیم. همچنین اگر روش دیگری برا یحل این مساله دارید آن را در نظرات با ما در میان بگذارید. تیکتم آرزومند موفقیت شماست.
مطالب مرتبط:
افزونه ساخت نقشه سایت در وردپرس
افزونه امتیاز دهی به مشتریان در ووکامرس
آموزش رفع لینک های خراب وردپرس
درونریزی و برونبری در بخش سفارشیسازی وردپرس
منبع : تیکتم – ارائه دهنده : قالب وردپرس بازی – قالب وردپرس املاک – قالب وردپرس تفریحی
هنوز دیدگاهی برای این مطلب ثبت نشده است.