Troubleshooting

500 Internal Server Error — How to Fix It

The generic “something broke on the server” error, decoded: the top causes and the fastest fixes.

A 500 Internal Server Error is the server's way of saying "something broke while loading your site, and I won't be more specific." The good news: the usual suspects are few, and most are fixed without support.

The big four causes

  1. A broken .htaccess file — corrupted rules or an aborted edit.
  2. A PHP fatal error — a plugin or theme with a fatal bug (very common right after updates).
  3. Wrong file permissions — folders/files set to a mode the server won't run.
  4. Memory exhaustion — a script blew past the PHP memory limit.

Fix 1 — reset .htaccess

Rename .htaccess in public_html to .htaccess_old (via File Manager) and reload your site. If it works, the old file was the problem — restore a known-good copy or regenerate it (WordPress can recreate a standard one via Settings > Permalinks).

Fix 2 — isolate the PHP failure

For WordPress, temporarily disable the plugins folder as described in WordPress Critical Error — that separates plugin faults from everything else. Then switch to a default theme if the error persists. See also Common PHP Errors.

Fix 3 — check permissions

Files should be 0644 and folders 0755 on shared hosting. In File Manager, right-click > Change Permissions. Don't set files to 0666 or 0777 — that's a security risk and often its own cause of 500s.

Fix 4 — raise the memory limit

If a memory exhausted fatal hides behind the 500, raise memory_limit in Select PHP Version > Options to 256M.

Still stuck?

Check Website Not Loading for the wider picture, then open a ticket with the domain and the last change you made. Our team can pull the actual server error behind the generic 500 in seconds.

Was this article helpful?

Your feedback helps us improve our guides.

Still need a hand?

Contact WebFulHost Support — our team is available 24/7.