Troubleshooting "500 Internal Server Error"

A "500 Internal Server Error" is a generic message that means something on your website stopped the server from completing the request — but it does not say what. This article walks you through the most common causes and how to fix each one.

What a 500 error means

The 500 error is the server's way of saying "something went wrong, but I can't be more specific." The detail you need is in your error log, not on the screen the visitor sees. On shared hosting, the usual culprits are a broken .htaccess file, a bad file permission, a PHP problem, or a misbehaving plugin or theme.

You can often fix it yourself by working through the causes below in order.

Before you begin

  • cPanel access, to view logs, edit files, and check permissions.
  • A note of what changed recently. A 500 error almost always follows a change — a new plugin, an edited file, a settings update. That is your best clue.

Step 1: Read the error log

The error log usually tells you the exact cause.

  1. Sign in to cPanel.
  2. In the Metrics section, open Errors.
  3. Look at the most recent entries for messages mentioning a file name, a PHP error, or a permissions issue.

Tip: Match the timestamp of the error to when you last changed something. That usually points straight at the cause.

Step 2: Check your .htaccess file

A corrupted or misconfigured .htaccess file is one of the most common causes.

  1. In File Manager, open the folder for your site (usually public_html). Make sure hidden files are shown so .htaccess is visible.
  2. Rename .htaccess to .htaccess_old.
  3. Reload your site. If it works, the problem was in that file.
  4. For WordPress, regenerate a clean .htaccess by visiting Settings > Permalinks in the dashboard and saving.

Step 3: Check file and folder permissions

Incorrect permissions can trigger a 500 error.

  • Folders should generally be set to 755.
  • Files should generally be set to 644.

In File Manager, right-click a file or folder and select Change Permissions to review and correct them.

Warning: Never set files or folders to 777. It is a common "fix" suggested online, but it is a security risk and can itself cause the server to reject the request.

Step 4: Look at PHP

PHP issues are another frequent cause.

  • PHP version. Software that needs a newer (or older) PHP version can fail. Check your version — see the PHP version article.
  • Memory limit. A script that runs out of memory can produce a 500 error. The error log will mention a memory limit if this is the cause.

Step 5: Rule out a plugin or theme (WordPress and similar apps)

If your site runs WordPress or another application, a faulty extension is a likely cause.

  1. In File Manager, go to wp-content and rename the plugins folder to plugins_old. This deactivates all plugins.
  2. Reload your site. If it works, a plugin was the cause.
  3. Rename the folder back, then disable plugins one at a time to find the culprit.
  4. If plugins are not the cause, switch to a default theme to test the theme.

Step 6: Still not resolved?

If you have worked through the steps above and the error persists:

  • Restore from a backup taken before the error started — see Restoring Your Site from a Backup.
  • Contact us with the exact error log entry from Step 1 — it greatly speeds up diagnosis.

Next steps

Questions? Contact Exact Hosting Support.

How helpful was this article?

Thanks for your feedback!

Do you still need help? If so please submit a request here.