Home / Guides / Troubleshooting

4 min read ยท Updated

Fix a 500 Internal Server Error

A 500 error means something went wrong on the server, but the error message itself doesn't say what. Here's how to find and fix the cause.

Step 1: Check the error log

  1. In cPanel, open Errors (under Metrics).
  2. Look at the most recent entries. The log usually names the file and line number where things went wrong, and often includes a plain-English reason.

Step 2: Check .htaccess

A bad rule in .htaccess is the most common cause of a 500 error.

  1. Open File Manager, navigate to public_html, and make sure hidden files are visible (Settings > Show Hidden Files).
  2. Rename .htaccess to .htaccess.bak.
  3. Refresh your site. If it loads, the problem is in that file. Create a fresh .htaccess and add rules back one at a time until you find the broken one.

For WordPress, you can regenerate the default .htaccess by going to Settings > Permalinks in your dashboard and clicking Save Changes.

Step 3: Check PHP errors

If the error log mentions a PHP fatal error:

  • Plugin or theme conflict: rename the plugin or theme folder in File Manager to deactivate it (see the Update WordPress guide for details).
  • PHP version mismatch: try switching to a different PHP version using the Change your PHP version guide.
  • Memory limit: if the error says "Allowed memory size exhausted", increase memory_limit in MultiPHP INI Editor.

Step 4: Check file permissions

Incorrect permissions can cause a 500 error. The standard settings are:

  • Folders: 755
  • Files: 644

In File Manager, right-click a file or folder and choose Change Permissions to check and fix.

Still stuck?

Email support@dredgehost.com with your domain name and the last few lines from your error log. We can usually spot the problem quickly from there.

← All guides

Stuck on a step? Email support@dredgehost.com and we'll help you sort it out.

Did this guide help? A short review on Trustpilot helps other people find a small host they can trust.