Linux Commands

What is a 500 Internal Server Error?

Among the most commonly encountered errors while web-browsing, ‘500 Internal Server Bug’ is topped only by the infamous error 404. The 500 internal server error message suggests that there are technical difficulties with the webserver.

This article describes what an error of 500 means, how you get an HTTP 500 code, as well as how to fix such errors.

What is an HTTP 500 Error?

Your browser will send a request to the host server managing site any time you visit a web page, which produces the requested data and response code. Whether or not the request was successful is indicated by the HTTP response status codes.

In five groups, responses are categorized. If an error message falls within the 500 to 599 range, it can be identified as a server error.HTTP status code 500 is a generic error message that the server returns because there is no other suitable error message. It can be triggered by a variety of barriers that keep the request from being completed by the server.

There is nothing much you can do when the page you are accessing throws 500 Error because the error is not induced by your browser or internet connection. You should try any of the following solutions even if the error has been on the server-side:

  • Reload the browser or try another browser. If you reload the browser, the probability that the webpage will load are poor, but still, it’s worth a lookout.
  • Start clearing your browser cache. Unless the page that displays an error of 500 is cached, the browser should request a version of the page after clearing the cache.
  • Then, come back. Until then, the web developer could fix the server problem.
  • Contact the operators of the website. The very last option left is to contact the individual in charge of managing the website.

Troubleshooting 500 Error

Internal Server Error 500 may be triggered for a variety of different reasons. The most popular ones are here:

A problem with approval. If the web browser does not have permission to view site files, an HTTP 500 error will occur.

Syntax error: .htaccess. When you’re using Apache as a web browser, as you most likely have a .htaccess file in the root folder of your domain. An incorrect syntax or non-existent module command could result in an error of 500.

Database-related problem. HTTP Error 500 can also be caused by improper details about the database or a compromised database.

Problems with themes and plugins. Whether you are operating WordPress or similar CMS, after upgrading or changing a plugin/theme, an error of 500 can occur.

Modules from Node.js. Up to date modules will trigger an admin console error of 500 if you have a Node.js-based site.

Site hacked. Very frequently, an error of 500 arises from malicious software that is inserted into the website.

External Interruption of Capital. The server will return an error of 500 if the server connects with an external service and if such resources are not available.

Testing the server logs is the best way to determine whether the error of 500 happened. The position of the files depends on the amount of your Linux and the database server. For Apache and Nginx, the most popular error logs are given as follows:

  • # /var/log/apache2/error.log
  • # /var/log/httpd/error_log
  • # /var/log/nginx/error_log

Review the Node.js logs if the software is based on Node.js.

The server log usually includes comprehensive error data to help you recognize and correct an error.


A specific HTTP status code is the 500 Internal Server Error, which indicates that maybe something went wrong with the webserver that hosts the page you are accessing.

About the author

Younis Said

I am a freelancing software project developer, a software engineering graduate and a content writer. I love working with Linux and open-source software.