500 Internal Server Error
The 500 Internal Server Error is a very general HTTP status code that means something has gone wrong on the website’s server, but the server could not be more specific on what the exact problem is.
Are You the Webmaster? See Fixing 500 Internal Server Error Problems on Your Own Site towards the bottom of the page for some better advice if you’re seeing the 500 Internal Server Error on one or more of your own pages.
The 500 Internal Server Error message might be seen in any number of ways because each website is allowed to customize the message.
Here are several common ways that you might see the HTTP 500 error:
How You Might See a 500 Error
500 Internal Server Error
HTTP 500 - Internal Server Error
Temporary Error (500)
Internal Server Error
HTTP 500 Internal Error
HTTP Error 500
500. That's an error
Since a 500 Internal Server Error is generated by the website you’re visiting, you could see one in any browser in any operating system, even on your smartphone.
Most of the time, a 500 Internal Server Error displays inside the internet browser window, just as web pages do.
Cause of HTTP 500 Errors
As I mentioned above, Internal Server Error messages indicate that something, in general, is wrong.
Most of the time, “wrong” means an issue with the page or site’s programming, but there’s certainly a chance that the problem is on your end, something we’ll investigate below.
Note: More specific information about the cause of a particular HTTP 500 error is often provided when it occurs on a server using Microsoft IIS software. Look for numbers after 500, as in HTTP Error 500.19 – Internal Server Error, which means Configuration data is invalid. See More Ways You Might See an Internal Server Errorbelow for the complete list.
How to Fix the 500 Internal Server Error
Like I alluded to above, the 500 Internal Server Error is a server-side error, meaning the problem probably isn’t with your computer or internet connection but instead with the website’s server.
While not probable, it is possible that there’s something wrong on your end, in which case we’ll look at some things you can try:
- Reload the web page. You can do that by clicking the refresh/reload button, pressing F5 or Ctrl-R, or trying the URL again from the address bar.
Even if the 500 Internal Server Error is a problem on the web server, the issue might just be temporary. Trying the page again will often be successful.
Note: If the 500 Internal Server Error message appears during the checkout process at an online merchant, be aware that duplicate attempts to checkout may end up creating multiple orders – and multiple charges! Most merchants have automatic protections from these kinds of actions, but it’s still something to keep in mind.
- Clear your browser’s cache. If there’s a problem with the cached version of the page you’re viewing, it could be causing HTTP 500 issues.
Note: Internal Server Errors are not often caused by caching issues, but I have, on occasion, seen the error go away after clearing the cache. It’s such an easy and harmless thing to try, so don’t skip it.
- Delete your browser’s cookies. Some 500 Internal Server Error issues can be corrected by deleting the cookies associated with the site you’re getting the error on.
After removing the cookie(s), restart the browser and try again.
- Troubleshoot as a 504 Gateway Timeout error instead.
It’s not very common, but some servers produce a 500 Internal Server Error when in reality a more appropriate message based on the cause of the problem, is 504 Gateway Timeout.
- Contacting the website directly is another option. Chances are good that the site’s administrators already know about the 500 error, but if you suspect they don’t, letting them know helps both you and them (and everyone else).
See my Website Contact Information list for contact information for popular websites. Most sites have support-based social network accounts and a few even have email and telephone numbers.
Tip: If it looks like the site is down completely and you can’t find a way to report the 500 Internal Server Error message to the website, it might help your sanity to keep up with the outage on Twitter. You can usually do this by searching for #websitedown on Twitter, as in #gmaildown or #facebookdown.
- Come back later. Unfortunately, at this point, the 500 Internal Server Error is no doubt a problem outside of your control that will eventually get fixed by someone else.
If the 500 Internal Server Error message is appearing at check out during an online purchase, it might help to realize that sales are probably being disrupted – usually a great incentive to the online store to fix the issue very quickly!
Even if you’re getting the 500 error on a site that doesn’t sell anything, like YouTube or Twitter, as long as you’ve let them know about the problem, or at least tried, there’s little more you can do than wait it out.
Fixing 500 Internal Server Error Problems on Your Own Site
A 500 Internal Server Error on your own website requires a completely different course of action. As I mentioned above, most 500 errors are server-side errors, meaning it’s likely your problem to fix if it’s your website.
There are lots of reasons why your site might be serving a 500 Error to your users, but these are the most common:
- A Permissions Error. In most cases, a 500 Internal Server Error is due to an incorrect permission on one or more files or folders. In most of those cases, an incorrect permission on a PHP and CGI script is to blame. These should usually be set at 0755 (-rwxr-xr-x).
- A PHP Timeout. If your script connects to external resources and those resources timeout, an HTTP 500 error can occur. Timeout rules, or better error handling in your script, should help if this is the cause of the 500 error.
- A Coding Error in .htaccess. While not as common, be sure to check that your site’s .htaccess file is properly structured.
If you’re running WordPress, Joomla, or another content management or CMS system, be sure to search their support centers for more specific help troubleshooting a 500 Internal Server Error.
If you’re not using an off-the-shelf content management tool, your web hosting provider, like InMotion, Dreamhost, , etc., probably has some 500 Error help that might be more specific to your situation.
More Ways You Might See an Internal Server Error
In Internet Explorer, the message The website cannot display the page often indicates an HTTP 500 Internal Server Error. A 405 Method Not Allowed error is another possibility but you can be sure by looking for either 500 or 405 in the IE title bar.
When Google services, like Gmail or Google+, are experiencing a 500 Internal Server Error, they often report a Temporary Error (500), or simply 500.
When Windows Update reports an Internal Server Error, it appears as a WU_E_PT_HTTP_STATUS_SERVER_ERROR message or as the 0x8024401F error code.
If the website that reports the 500 error is running Microsoft IIS, you might get a more specific error message:
|500.0||Module or ISAPI error occurred.|
|500.11||Application is shutting down on the web server.|
|500.12||Application is busy restarting on the web server.|
|500.13||Web server is too busy.|
|500.15||Direct requests for Global.asax are not allowed.|
|500.19||Configuration data is invalid.|
|500.21||Module not recognized.|
|500.22||An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.|
|500.23||An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.|
|500.24||An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.|
|500.50||A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred.|
|500.51||A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.|
|500.52||A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.|
|500.53||A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.|
|500.100||Internal ASP error.|
More information on these IIS-specific codes can be found on Microsoft’s The HTTP status code in IIS 7.0, IIS 7.5, and IIS 8.0 page.