دلیل دریافت خطای کد 500 چیست؟و چگونه آنرا حل کنیم؟
علل بروز ارور 500 و نحوه رفع آن
آپدیت شده در تاریخ 1400/12/02
به صورت عمومی ارور 500 مربوط به محتوای موجود در هاست میباشد که در ادامه علل مختلف بروز این ارور و نحوه رفع آن را بررسی میکنیم.
شناخت ارور 500
- 500 Error
- HTTP Error 500
- 500. That’s an error
- Internal Server Error
- HTTP 500 Internal Error
- 500 Internal Server Error
- HTTP 500 – Internal Server Error
این پیغام که عموما با فرم های بالا نمایش داده میشود یکی از رایج ترین خطاهای موجود است.
شاید بخواهید بدانید علت اینکه ارور 500 با عدد نمایش داده میشود چیست؟
دلیل: خطا برای سرور قابل تشخیص نیست، بنابراین با این نام نمایش داده میشود و نشان دهنده بروز خطا در سرور یا هاست است. خطای 500 باعث از دسترس خارج شدن سایت میشود و موتورهای جستجو نیز این خطا را تشخیص خواهند داد، بنابراین برای حفظ سئو سایت و جلوگیری از تاثیر منفی این خطا بر روی امتیازی که از موتورهای جستجو دارید، سریعا باید نسبت به برطرف کردن این خطا اقدام کنید.
نکته: زمانی که با خطاهای 500 در وردپرس مواجه میشوید به عنوان صفحه مرورگر دقت کنید. گاها این خطا در بعضی از مرورگرها پیغام زیر نمایش داده میشود :
The website cannot display the page
توجه داشته باشید که زمان بروز خطای 405 نیز همین خطا نمایش داده میشود.
علل بروز خطای 500 و نحوه رفع آن
1_کش مرورگر
علت:
اولین و ابتدایی ترین بررسی لازم مربوط به کش مرورگر میباشد، ممکن است در گذشته سایت شما با ارور 500 مواجه شده و این مورد در حافظه مرورگر به صورت کش موجود باشد در این صورت شما زمانی که سایت بدون مشکل در دسترس باشد هم با ارور 500 مواجه میشوید.
نحوه رفع:
✅کش مرورگر و کوکی هارا پاک کنید.
✅صفحه مرورگر را رفرش کنید.
2-افزایش یا کاهش سطح دسترسی به پوشه ها برای برخی کاربران
علت:
به این معناست که دسترسی به فایلها و پوشهها برای گروهی از کاربران خاص در دسترس است و هر یک از این گروهها نیز قابلیت خواندن و نوشتن(مشاهده و ویرایش) روی دایرکتوری یا فایل مورد نظر را دارند. و اگر حالتی رخ دهد که برای گروهی از این کاربران دسترسی به فایل یا پوشه مورد نظر فراهم نباشد خطای 500 رخ خواهد داد.
نحوه رفع:
- وارد سیپنل هاست خود شوید از منوی موجود بخش file ابزار File Manager را انتخاب کنید. در مرحله بعد به مسیر Public_html رفته و در جایی که وردپرس را نصب کردهاید کلیه پوشهها و فایلهای اسکریپت وردپرس که معمولا با wp آغاز میشوند را بررسی کنید. در این بررسی شما باید ستون permission را بررسی کرده و اعدادی که برای هر فایل و پوشه قرار دارد را در صورت مغایرت داشتن اصلاح کنید.
مقادیر مجاز:
سطح دسترسی برای پوشهها روی 755 و برای فایلها روی 644 - اسکریپت های اجرایی شامل پوشه ی cgi-bin نیز دارای سطح دسترسی 755 می باشند.
- تصاویر، فایل های چندرسانه ای و فایل های متنی مثل HTML دارای سطح دسترسی 644 می باشند
- فایلهای داخل هر یک از این پوشهها را نیز بررسی کنید که روی حالت 644 قرار داشته باشند.
- دسترسی فایل ” wp-config.php” نیز بهتر است روی 440 باشد تا سایر کاربران نتوانند آن را مشاهده کنند.
برای تغییر سطح دسترسی روی فایل یا پوشه مورد نظر کلیلک راست کنید و گزینه Change Permissions? را انتخاب کنید سپس در پنجره باز شده مقادیر ذکر شده را تنظیم کرده و روی دکمه Save کلیک کنید.
3-وجود خطا در فایل htaccess
علت:
بروز خطای 500 بر اثر این فایل ممکن است به دلایل مختلفی از جمله وجود کلمات یا کاراکتر هایی که برای سرور قابل شناسایی نیست اتفاق بیفتد که در ادامه آن هارا بررسی میکنیم.
علت و روش 1:
وارد سیپنل هاست خود شوید، از منوی file روی ابزار filemanager کلیک کنید.
وارد Public_html شوید و به دنبال فایلی با نام htaccess بگردید، در صورتی که این فایل را مشاهده نکردید احتمالا این فایل به حالت مخفی وجود دارد علت این امر این است که فایل هایی که نامشان با (.) آغاز میشود اکثر مواقع به صورت مخفی در هاست ظاهر میشوند، برای مشاهده فایل در این حالت روی گزینه Settings که در بالای صفحه سمت راست قرار دارد کلیک کنید سپس تیک گزینه Show Hidden Files (dotfiles) ✅را فعال کنید و روی دکمه Save کلیک کنید.
پس از آنکه فایل htaccess نمایان شد، روی آن کلیک راست کنید و گزینه Rename را انتخاب کنید نام این فایل را به htaccess1. تغییر دهید. بعد از تغییر نام صفحهای که با خطای 500 در آن مواجه شدید را باز کرده و رفرش کنید. اگر مشکل برطرف شده بود وارد تنظیمات پیوندهای یکتا در پیشخوان وردپرس شده و روی دکمه ذخیره تغییرات کلیک کنید تا فایل htaccess. جدید ساخته شود.
برای مشاهده نحوه انجام تنظیمات پیوندهای یکتای وردپرس کلیک کنید.
علت و روش 2:
در صورتی که بر اثر عدم دانش کافی و یا بروز اشتباه کدهای اشتباه در htaccess قرار داده شده باشند راه حل تبدیل خطوط مشکل دار در فایل .htaccess به توضیحات یا Comment است.
برای اینکار کافی است در ابتدای خطوط کاراکتر # را درج کنید و فایل را ذخیره کنید، برای مثال اگر محتوای فایل .htaccess به شکل زیر باشد:
DirectoryIndex default.html
AddType application/x-httpd-php5 php
?برای اینکه خط دوم را کامنت کنید باید به این صورت عمل کنید:
DirectoryIndex default.html
<strong>#</strong>AddType application/x-httpd-php5 php
?خطوطی که با php_flag شروع می شوند معمولا دچار خطا می شوند و می بایست آن ها را کامنت کنید.
Other common .htaccess errors
علت و روش 3:
درصورت وجود مشکل FollowSymlinks خطایی مشابه خطای زیر مشاهده خواهید کرد:
[Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here
برای رفع این خطا در فایل مورد نظر، دستور مجاز «SymlinksIfOwnerMatches» را به جای «FollowSymlinks» استفاده کنید یا خط مربوطه را حذف نمایید.
علت و روش 4:
در صورت وجود مشکل Syntax Not Closed خطایی مشابه خطای زیر مشاهده خواهید کرد:
خطایی مشابه ذیل خواهید داشت:
[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.
برای رفع این مورد دستور </IfModule> را به درستی پایان دهید و یا آن را حذف نمایید :
<IfModule>ExampleRule</IfModule>
4-بررسی میزان حافظه php هاست
علت:
در صورتی که در صفحه اول وردپرس با خطای HTTP 500 Internal Server مواجه شدید احتمالا این مشکل مربوط به میزان حافظهای است که برای php در نظر گرفته شده است.
نحوه رفع:
وارد سیپنل شوید، از منوی file ابزار file manager را باز کنید سپس روی public_html کلیک کنید سپس وارد wp-admin شوید حالا یک فایل جدید با نام PHP.ini در این پوشه بسازید و کد زیر را داخل فایل قرار دهید.
memory=64MB
در صورتی که به روش بالا موفق به افزایش حافظه php هاست نشدید از روش های زیر استفاده نمایید:
- کد زیر را داخل فایل wp-config.php که در مسیر نصب وردپرس است قرار دهید.
define(‘WP_MEMORY_LIMIT’, ’64M’);
- کد زیر را در انتهای فایل htaccess. قرار دهید.
php_value memory_limit 128M
- در صورتی که با استفاده از روش های بالا هم موفق به افزایش حافظه php وردپرس نشدید با میزبانی هاست خود تماس گرفته و درخواست کنید که این کار از سمت میزبانی هاست برای شما انجام گیرد.
5-بررسی افزونه های وردپرس
علت: ممکن است افزونه هایی که در وردپرس نصب و فعال کرده اید و یا آپدیت نموده اید منجر به بروز این خطا شده باشد.
نحوه رفع:
در صورتی که اخیرا افزونه خاصی را فعال یا آپدیت نموده اید ابتدا این افزونه را غیر فعال کنید.در غیر اینصورت کلیه افزونههای وردپرس را غیرفعال کنید و تک تک شروع به فعالسازی آنها کنید پس از فعال کردن هر افزونه سایت را چک کنید تا بتوانید به این ترتیب افزونه مخرب را بیابید و متوجه شوید ارور 500 با فعال کردن کدام افزونه رخ خواهد داد. پس از شناسایی افزونه مورد نظر را لغو نصب نمایید و افزونه امنی را بیابید و جایگزین آن کنید.
در صورتی که به پیشخوان ورد پرس دسترسی ندارید وارد پوشه wp-content هاست خود شده و نام پوشه plugins را به نام دیگری مانند plugins1 تغییر دهید. بعد از تغییر نام (کلیک روی دکمه ذخیره) کلیه افزونهها غیرفعال میشوند.
در این مرحله سایت را بررسی کنید، اگر مشکل برطرف شده باشد خطای 500 وردپرس از سمت افزونهها است.
حالا مجددا نام پوشه plugins را به همان حالت اصلی برگردانید و برای شناسایی افزونه مخرب، یک بار صفحهای که با خطای 500 وردپرس مواجه شدید را بررسی کنید.
بعد از اینکه با فعال کردن یک افزونه خطا رخ داد، افزونه مخرب شناسایی میشود که میتوانید آن را غیرفعال کرده و مشکل افزونه را برطرف کنید یا اینکه از افزونه جایگزین استفاده کنید.
6- بررسی فایل php.ini
خطاهایی که در فایل php.ini می تواند رخ دهد به صورت زیر می باشند:
- مشکل ForceType :
زمانیکه از فایل هایی با پسوند یا بدون پسوند متفاوت از پسوند های معمول استفاده می کنید می توانید از ForceType در فایل .htaccess استفاده کنید و نحوه ی استفاده از آن در سرور را تعیین کنید.
برای مثال ، زمانیکه شما فایلی با نام item دارید ( مانند Nucleus برای استفاده از FancyURL) و می خواهید در سرور بعنوان فایل php تعریف شود ، می توانید از کد زیر در فایل .htaccess استفاده کنید:
ForceType application/x-httpd-php
البته در سرور هایی که دارای phpsuexec می باشند با کد فوق خطای Internal Server Error دریافت خواهید ، که این مشکل به راحتی با استفاده از SetHandler بجای ForceType در فایل .htaccess رفع خواهد شد:
SetHandler application/x-httpd-php
- مشکل php_value :
در سرور های بدون phpsuexec می توان از php_value در فایل .htaccess برای تغییر تنظیمات php (در واقع بازنویسی تنظیمات از php.ini) استفاده نمود.
در سرور های دارای phpsuexec استفاده از این دستور خطای Internal Server Error را ایجاد می کند.
برای رفع این خطا شما می توانید در فایل php.ini که در همان پوشه ی ای که فایل .htaccess قرار دارد موجود است تمامی تنظیمات مربوط به php را تغییر دهید.
برای مثال اگر شما می خواهید short_open_tag را برابر با off قرار دهید، شما باید از short_open_tag? = off در فایل .htaccess استفاده کنید. با استفاده از فایل php.ini نتیجه به این صورت می شود:
[PHP]
short_open_tag = Off
7-بررسی تنظیمات پایگاه داده (Data Base)
مشخصات دیتابیس ایجاد شده در هاست حتما باید با مشخصات درج شده در فایل wp-config.php یکسان باشند.
به عنوان مثال اگر سایت با وردپرس طراحی شده نام دیتابیس،نام یوزر دیتابیس و رمز باید با نام دیتابیس،نام یوزر دیتابیس و رمز یوزر ایجاد شده در هاست یکسان باشد.
امیدواریم این مطلب مورد توجه شما قرار گرفته باشد.
تلاش نت
02154109000
______________________________________________________________________________________________________________
ارور 500
ارور یا خطای کد 500 معمولا به دلیل دستورات غلط یا ناقص در فایل htaccess. است. دیگر مواردی که معمولا اتفاق میافتد، یا دستورات اشتباه تایپی داشته، یا به درستی به ابتدای خط بعدی اضافه نشده اند (استفاده از ویرایشگرهای ویندوزی مثل نت پد که با لینوکس سازگار نیستند) و یا نسخه وب سرور پیکربندی شده از یک یا چند دستور موجود در فایل پشتیبانی نمیکند.
توجه ! این آموزش مربوط به سرویس هاستینگ لینوکس است.
روش حل ارور یا خطای کد 500:
ابتدا فایل htaccess را تغییر نام دهید؛ اگر خطا برطرف شد، فایل htaccess را با ویرایشگر مناسب مثل ++NotePad که رایگان است ویرایش کنید و در جای خود مجددا ذخیره کنید.
برای ویرایش و یافتن خط دستور مشکل ساز، خط به خط دستورات را کامنت کنید ( با افزودن # به اول خط دستور) و فایل را ذخیره کنید تا به خط دستور مشکل ساز برسید.
تلاش نت >>> تلاشی برای بهترین خدمت