When you receive an error "Internal server error 500" on your site, the best way to find the reason for it is to check the error log. SiteGround customers can do this from cPanel > Error log.
Check the manual for your webserver if you don't have a control panel.
You will see a list of the last error messages generated by your website. In this list you will find detailed information about each error including: the date and time of the error, some information about the client receiving the error, description of the error and information about which folder or file is generating the error.
Here are some examples of the most common ones and how to fix them:
[2008-04-19 01:43:31]: error: directory is writable by others: (/home/user/domain/public_html/)
This could be easily fixed by just changing the permissions of the file/directory in question. You can change the permissions by using the File Manager within DirectAdmin, or an FTP client (eg. Filezilla). The correct permissions are 755. In our DirectAdmin tutorial you can find detailed instructions for changing permissions through the File Manager.
[2008-04-19 01:48:21]: error: file has no execute permission: (/home/user/domain/public_html/)
In order to fix the issue, you should use your FTP client or the Filemanager within DirectAdmin and change the permissions of the file in question to 755.
[Thu Apr 19 01:47:38 2008][client 127.0.0.50] (13)Permission denied: /home/user/domainpublic_html unable to check htaccess file, ensure it is readable
The error is caused by incorrect permissions of the .htaccess file. However, such error message could be invoked if the permissions for the folder are not the correct ones either. Please ensure that both folder and .htaccess file within are set with 755 permissions.
[Thu Apr 19 01:47:39 2008] [client 127.0.0.76] Premature end of script headers: /home/user/domain/public_html
Such error message could be invoked by several reasons:
-- The script requires more than the usual time to be processed and is being killed by our system. In order to ensure the stable performance of all other hosted accounts we have set the TimeOut for our webserver to 10 secs.
-- There is an error within the programming code of the script in question. In this case it should be revised by a professional web developer who will be able to assist you further.