The most common reasons for 500 errors:
1) Bad permissions, Writable by group
Directories and folders should be 755. Executable scripts within the cgi-bin folder must be 755. Images, media, and text files like HTML should be 644.
2) Bad .htaccess, Invalid command
In the (dot) htaccess file, you may have added lines that are either worded badly or conflicting. The best way to troubleshoot this is the comment out the lines in the htaccess.
You can comment out a line in the .htaccess by adding # to the beginning. You are wise to save an original copy of any file before you make changes.
For example, if the .htaccess looks like
Directory Index default.html
Add Type application/x-httpd-php5 PHP
Then try something like this
Directory Index default.html
#Add Type application/x-httpd-php5 PHP
Broken lines and lines that start with php_flag are the most common mistakes. If you cannot determine which line is the problem, then comment out every line.
3) Exceeding resources, nothing in the Error Log
It is possible your 500 error is caused by too many processes in the server queue.
With SSH (shell) access, you can view the processes running on your account. Simply type this command:
Ps faux
Or type this to view a specific user’s account (be sure to replace username with the actual username):
ps faux |grep username
Once you have the process ID (“pid”), type this to kill the specific process (be sure to replace pidwith the actual process ID):
Kill -9 pid