Bluehost Web Hosting Help
500 Internal Server Error Help
A 500 Internal Server Error can be caused by many things, including but not limited to invalid permissions, invalid ownership, bad lines in your php.ini or .htaccess file, invalid requests in the script, and others not mentioned here. Typically this is not a problem with the server itself, and can be most often resolved by modifying something in your site's configuration. Please check the Error Logs in cPanel for specific information.
- Example of Server 500 Error
- Bad permissions, Writable by group
- Bad .htaccess, Invalid code, command, or syntax
- Improperly configured php.ini
Example of Server 500 Error
A Server 500 error will generally look something like this:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, firstname.lastname@example.org 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.
Bad permissions, Writable by group
A bad permissions error may look something like this:
[Sun Jun 05 12:03:22 2012] [error] [client 126.96.36.199] SoftException in Application.cpp:601: Directory "/home/exampleuser/public_html" is writeable by group
In this instance the folder had permissions for a folder set too high. To correct this, the permissions need to be changed from "777" to "755".
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.
- Files - 644
- CGI Scripts - 755
- Directories - 755
You can modify permissions with the File Manager, located in the "Files" category of the cPanel, an FTP client, or using the chmod command in SSH/Bash.
Bad .htaccess, Invalid code, command, or syntax
In the .htaccess file ("dot htaccess"), you may have added lines that are either worded badly or conflicting. The best way to troubleshoot this is 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 this:
AddType application/x-httpd-php5 php
Then try something like this:
#AddType 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.
Other common .htaccess errors:
An error may look like the following:
[Sun Jun 05 12:07:10 2011] [alert] [client 188.8.131.52] /home1/examplec/public_html/.htaccess: Option FollowSymlinks not allowed here
In this example the error is simple to fix; in the file specified, use a permitted directive--in this case use "SymlinksIfOwnerMatches" instead of "FollowSymlinks", or remove the line entirely.
Syntax Not Closed:
An error may look like the following:
[Sun Jun 05 12:11:38 2011] [alert] [client 184.108.40.206] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: <IfModule>ExampleRule/Module> was not closed.
Again, the solution is to simply fix the syntax, or remove it. In this case, close the ending "</IfModule>"; directive properly and put the rules on their own line to resolve the problem.
These are just a few common examples that can be caused by bad .htaccess parameters. What you encounter will likely vary, however generally the error message is descriptive enough to determine an error from it without further investigation.
Improperly configured php.ini
When you are using files with (or without) an extension different then the normal extension for that filetype you can use
ForceType in your .htaccess file to make it clear to the server how to handle that file (or all the files in the folder) (this works on servers without phpsuexec).
An example: When you have a file called "item" (like Nucleus uses for FancyURL's) and want it to be parsed by the server as php you use the following code in your .htaccess file:
However, because our servers use phpsuexec this will result in an internal server error. To solve this you can simply use
SetHandler instead of
ForceType, so your .htaccess-file becomes:
On a server without phpsuexec it is possible to use the
php_value statement in a .htaccess file to change the settings of php (actually overwrite the settings from php.ini). On a sever with phpsuexec this will also result in a server error. To solve this you can use a php.ini file which you put in the same folder as where you would have put your .htaccess file. In that php.ini file you can change all the php values. You only have to put the values you want to modify in that file. By example if you want to set the
Off you would have used
short_open_tag? = off in your .htaccess file. Using a php.ini file this results in:
short_open_tag = Off
Still having issues?
If you are still having difficulties resolving this issue, our server administrators will be able to advise you how to avoid this error. Please come into live support chat, call us, or create a support ticket. Please be ready to provide us with the steps needed to see the 500 error on your site.
Recommended Help Content
I get a 500 Internal Server Error when trying to install something with MOJO Marketplace
500 Internal Server Error when installing via the MOJO Marketplace installer. (updated 648 days ago)
Error "Sorry, a group for that username already exists."
Creating a resold account causes the error "Sorry, a group for that username already exists." (updated 151 days ago)
Clients in China Are Unable to View My Website
Clients in China are unable to view my website. My website's content doesn't contain any objectionable material. (updated 1986 days ago)
Related Help Content
My Website Is Slow
The website is taking a long time to load. It just seems slower today than normal. (updated 418 days ago)
Server Status: Server Move
An explanation of the server status: Server Move (updated 515 days ago)
Moving website contents to Bluehost
I need to transfer my website from my old host to Bluehost, but I do not know how to do it without losing files or mail. (updated 354 days ago)
Server Status FAQs
Server Status FAQ's (updated 816 days ago)
Simple Script Upgrade Error - Host Server Unresponsive
When performing an upgrade (in this case, Joomla) in Simple Scripts, it can throw the following error: "Host Server Unresponsive Unfortunately, the server you are attempting to install on appears to b (updated 1987 days ago)
DDoS -- Denial of Service Attacks
The server is under a DDoS attack, what should I do? (updated 515 days ago)
Server Statuts: Kernel Upgrade
An explanation of the server status: Kernel Upgrade (updated 515 days ago)
Tools For Building Your Website
There are many ways to build a site with Bluehost (updated 712 days ago)