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. Apr 07, 2018 Table Of ContentsWhat Is the HTTP 500 Internal Server Error?How Would You Know That You Are Being Affected By This Server Error?What Causes the HTTP 500 Server Error? How Can You Fix the HTTP 500 Server Error?Related Posts: There are so many different possible HTTP errors that it can be hard to know what they all.
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.
How You Might See a 500 Error
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:
Since a 500 Internal Server Error is generated by the website you're visiting, you could see one in any browser in anyoperating 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
Like we 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.
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.
How to Fix the 500 Internal Server Error
Like we 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.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.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 504 Gateway Timeout is a more appropriate message based on the cause of the problem.
- Contacting the website directly is another option. There's a good chance 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 our article on 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.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 we 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, 1&1, 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:
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.
Errors Like the HTTP 500 Error
Many browser error messages are similar to the 500 Internal Server Error message because they're all server-side errors, like 502 Bad Gateway, 503 Service Unavailable, and 504 Gateway Timeout.
Many client-side HTTP status codes also exist, like the popular 404 Not Found error, among others. You can see all of them in our HTTP Status Code Errors list.
//I’m trying to download software from a specific site. No matter what I try to download, I get this error message:Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator webmaster@******.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.
The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator webmaster@******.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.
How is this resolved?
I’m very familiar with this error. I see it all the time when setting up or making changes to websites.
The good news? It’s not your fault.
The bad news? There’s probably nothing you can do.
Summary
- It’s not really your problem, and likely there’s nothing you can do.
- Make sure the URL [Uniform Resource Locator]
A URL is a way to specify a resource, such as a file or a service, on the internet. In what is by far the most common usage, a URL is simply the full web address of a webpage. For example, this page is identified by the URL
https://glossary.askleo.com/url/
A URL is made up of several components.
- Protocol or “scheme”: the “language” used to exchange data for this specific type of resource.
- Server or host: the computer (or computers) on the network that provide the resource.
- Location or path: the location on the server containing the resource.
- Name: the name of the resource to be accessed. (Technically considered part of the location.)
- Parameters or query: additional information used to customise the resource, or to be included with the request for other purposes.
- Anchor or fragment: additional information that indicates which portion of the resource should be accessed.
The most recognizable indicator of something being a URL is the “://” between the protocol and server. Using the terms above in brackets, a URL is constructed as follows:
Http and https are two examples of protocols, but you may also commonly see “ftp”, for File Transfer Protocol, and others.
(Click on the term for full definition.)
It’s the server’s problem
An internal server error is an error on the web server you’re trying to access. That server is misconfigured in some way that prevents it from responding properly to what you’re asking it to do.
Think of it like the web’s version of a blue screen. ? Something went so wrong on the server that it couldn’t even tell you what the problem was.
Aside from informing the site owner (who may or may not be at the webmaster email address included in the error message), there’s probably nothing you can do to resolve this problem. That’s because it’s not your problem.
The person who is responsible for the website needs to fix it.
It’s still the server’s fault, but…
Even though it’s the server’s fault for not handling something properly, there are scenarios where you might have inadvertently caused this. For example, errors in URLs can cause it.
One scenario: you saw a link in an email or webpage, and rather than clicking on it, you copied and pasted the link in a web browser. If you accidentally didn’t select the entire link and left off a few important characters, you might see this message.
Similarly, if you’re typing in a URL from a book or other source, and don’t type it in exactly, you might see this message.
To be clear, the server should be able to handle whatever you did cleanly and report errors in some useful way. If the server doesn’t, and you get an Internal Server Error message, that’s still the server’s fault.
There are some straws to grasp at
Related
Sometimes, treating this like a browser issue rather than a server problem can help. Dealing with Browser Problems includes several additional things to try.
An internal server error happens when the server encounters a situation it just doesn’t know how to handle. Occasionally, your browser can be the source of these kinds of errors. You can try these steps to see if they’ll help:
- Clear the browser cache
- Clear cookies
- Refresh the page (F5)
- Try a different browser
While it’s more than likely these won’t work, there’s always a chance they might, and they are simple to try.
If you’re the webmaster…
So what if that’s you? What if you’re the webmaster?
Nine times out of 10, this error results from one of two very common errors:
- An error in a CGI scriptA script is nothing more than a computer program – instructions that, when “run” (or executed) by the computer, cause it to perform a task of some sort.'>script caused it to fail or output an error message before it started producing valid HTML [HyperText Mark-up Language]
A script is written in, and distributed as, a human-readable programming language. Examples include JavaScript, Basic, PHP, Perl, and others. When a script is run, a computer program called an “interpreter” actually reads the human-readable program and immediately performs the actions specified by the program.
Scripts differ from other computer programs, which are first converted from human readable to languages into a different “machine language” understood only by the computer’s CPU. This converted machine language is then distributed (for example, within “.exe” files) and actually run.
Naturally, there are no absolutes: the line between scripts and so-called “compiled” programs can often get quite blurry.
Similarly, while scripts tend to be smaller programs, this is not absolute. Many websites now use scripting extensively to provide massive amounts features and functionality.
(Click on the term for full definition.)HTML is an acronym for HyperText Mark-up Language.'>HTML. It happens to me all the time if I have a syntax error in one of my Perl CGI scripts.
Hypertext is a general term referring to a form of document that includes “links” – either references to other pages, other documents, or other locations within an the existing document – that can be used to go to the linked location. The ability to click on a link and have the referenced page be displayed puts the “hyper” in hypertext.
Mark-up Language refers to the specific techniques and rules used to encode links and other information into an HTML document.
(Click on the term for full definition.) - A permissions issue occurred when attempting to access a CGI script. Depending on how your web server is configured, it’s not enough for the script to have “execute” permission; it must also be owned by the correct user and belong to the correct group. I can’t tell you what that should be, because it varies widely from server to server (and even from site to site on the same server). My best recommendation is to look at the attributes of a script that’s working and copy that.
The format of the error described here is common for Apache web servers. That means we can also look for common error logs. Once again, the location of these logs varies a great deal based on the specific web server configuration.
- access_log is the log of successful accesses. On a shared or virtual hosting server, there may be many of these: one per website, often with site-specific names or in site-specific locations on the server.
- error_log is the log of errors. On some hosts, there is an error log per site. On others, each site has its own access_log, but there may only be a single error_log for the system.
- suexec_log is the log most people forget. It deals with the permissions used to execute CGI and other scripts. When a CGI fails to execute because its ownership is wrong, the generic internal server error shows in the error log, but a more specific error detailing the permissions involved appears in this log.
Additionally?
The message “Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument…” indicates a second configuration error on the server.
When the web server encounters an error of any sort, the page it displays to report the error is just another .HTML [HyperText Mark-up Language]
HTML is an acronym for HyperText Mark-up Language.
Hypertext is a general term referring to a form of document that includes “links” – either references to other pages, other documents, or other locations within an the existing document – that can be used to go to the linked location. The ability to click on a link and have the referenced page be displayed puts the “hyper” in hypertext.
Mark-up Language refers to the specific techniques and rules used to encode links and other information into an HTML document.
(Click on the term for full definition.)
'>html file stored on the server. This error means that trying to display the error page for the first error (the internal server error) actually generated a second error (also an internal server error, in your case).Hypertext is a general term referring to a form of document that includes “links” – either references to other pages, other documents, or other locations within an the existing document – that can be used to go to the linked location. The ability to click on a link and have the referenced page be displayed puts the “hyper” in hypertext.
Mark-up Language refers to the specific techniques and rules used to encode links and other information into an HTML document.
(Click on the term for full definition.)
At that point, the server just gave up.
Was this article helpful?
Subscribe to my weekly newsletter and get more like it. Each week I tackle current tech problems, solutions, and issues to help you be safer and more confident. Sign up now and get a copy of The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition with even more. Subscribe to The Ask Leo! Newsletter right away so you won't miss a thing!
Podcast audio
Download (right-click, Save-As) (Duration: 6:16 — 3.0MB)
Subscribe: Apple Podcasts | Android | RSS