با سلام خدمت کاربران ایرانی طرح
خطای ۵۰۰ از جمله خطاهایی است که به دلایل متعددی ایجاد میشود و رایج ترین آنها اعمال سطح دسترسی نادرست روی فایل ها و دایرکتوری ها ، مالکیت نادرست ، کد های نادرست در فایل php.ini ، فایل htaccess. درخواست های نامعتبر از طرف اسکریپت سایت و … میباشد.
با این خطا کاربران فکر میکنند که در سرور مشکلی ایجاد شده ولی اینطوری نیست و با اعمال تغییرات در کانفیگ سایت معمولا قابل رفع میباشد. جزئیات خطای ۵۰۰ معمولا در فایل Error Logs ذخیره میشود که با مراجعه به آن میتوانید اطلاعات دقیق تری را بدست بیاورید. جزییات نحوه ورود به فایل Error Logs را میتوانید از صفحه نحوه مشاهده خطاهای سی پنل مشاهده نمایید.
1 2 3 4 5 6 7 8 9 |
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request |
آموزش رفع خطای ۵۰۰ Internal Server Error در هاست سی پنل
انواع عوامل بروز این خطا به شرح زیر میباشد :
- Bad Permission, Writable by Group
این خطا به دلیل ایجاد بیش از حد مجاز سطح دسترسی پوشه ها ایجاد میشود. در فایل Error Logs این خطا به شکل زیر قابل مشاهده میباشد :
1 |
[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 |
برای رفع این مشکل باید سطح دسترسی را از ۷۷۷ به ۷۵۵ تغییر دهید . سطح دسترسی دایرکتوری ها و پوشه ها ۷۵۵ میباشد . اسکریپت های اجرایی مثل cgi-bin دارای سطح دسترسی ۷۵۵ میباشد. تصاویر فایل های چند رسانه ای و فایل های متنی مثل HTML دارای سطح دسترسی ۶۴۴ میباشد.
- Files – ۶۴۴
- CGI Scripts – ۷۵۵
- Directories – ۷۵۵
میتوانید سطح دسترسی را از فایل منیجر یا سرویس FTP از طریق دستورات chmod در SSH/Bash ویرایش کنید .
1 |
Bad .htaccess, Invalid code, command, or syntax |
خطاهای فایل htaccess.
کاربران ممکن است در فایل htaccess. خطوطی را اضافه کنند که در اثر عدم دانش کافی حاوی کدهای نادرست و و متضاد با کانفیگ سرور باشد.
در چنین حالتی خطای ۵۰۰ رخ میدهد.برای رفع این مشکل باید خطوط مشکل دار فایل htaccess. به توضیحات یا کامنت تبدیل کنید که کافی است در ابتدای هر خط کاراکتر # درج کرده و فایل را ذخیره کنید . بطور مثال اگر محتوای فایل htaccess. بصورت زیر باشد :
1 2 |
DirectoryIndex default.html AddType application/x-httpd-php5 php |
خط دوم را بصورت زیر به کامنت تبدیل کنید :
1 2 3 |
DirectoryIndex default.html <strong>#</strong>AddType application/x-httpd-php5 php |
خط کدهایی که با php_flag شروع میشوند معمولا دارای خطا میباشند که باید برای رفع خطا آنها را به کامنت تبدیل کنید :
1 |
Other common .htaccess errors |
خطای FollowSymlinks
در این حالت خطایی به شکل زیر مشاده میکنید :
1 |
[Sun Jun 05 12:07:10 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here |
رفع این خطا خیلی سادست و میتوانید آنرا رفع و یا حذف کنید . برای این کار دستور </IfModule> را به درستی پایان دهید:
1 |
<IfModule>ExampleRule</IfModule> |
این موارد تعدادی از خطاهای فایل htaccess. میباشند ولی پیغام های خطا به صورت کلی در تشخیص خطا شما را راهنمایی کرده و به آسانی آنها را رفع کنید :
1 |
Improperly configured php.ini |
خطاهای php.ini
ForceType
اگر از فایل های با پسوند یا بدون پسوند استفاده میکنید میتوانید از ForceType در فایل htaccess. استفاده کنید و نحوه استفاده از آنها را در سرور تعیین کنید .
بطور مثال شما فایلی به نام test دارید و میخواهید آنرا به عنوان فایل php در سرور تعریف کنید از کد زیر میتوانید در فایل htaccess. استفاده کنید :
1 |
ForceType application/x-httpd-php |
در سرورهای دارای phpsuexec با کد فوق خطای ۵۰۰ دریافت میکنید این مشکل به راحتی با استفاده از SetHandler بجای ForceType در فایل htaccess. حل میشود :
1 |
SetHandler application/x-httpd-php |
خطای php_value
در سرورهای فاقد phpsuexec از php_value میتوانید در htaccess. در تغییر تنظیمات php میتوانید استفاده کنید ولی در سرورهای دارای phpsuexec این دستور خطای ۵۰۰ ایجاد میکند . برای رفع این مشکل باید تنظیمات مربوط به php را تغییر دهید. بطور مثال اگر short_open_tag برابر با off باشد باید از short_open_tag? = off در فایل htaccess. استفاده کنید . نتیجه استفاده از از فایل php.ini بصورت زیر است :
1 2 3 |
[PHP] short_open_tag = Off |
اصلی ترین دلیل بروز خطای ۵۰۰ استفاده از کدهای اشتباه درون فایل htaccess. هاست سی پنل میباشد که میتوانید با استفاده از آموزش نحوه مشاهده فایل های مخفی در سی پنل به فایل htaccess. دسترسی پیدا کرده و کدها را به حالت اولیه برگردانید.