A 500 Internal Server Error means something went wrong on the server while it was trying to load your page, but the server isn't telling you exactly what. It's a generic catch-all error, so the fix depends on finding the specific cause first.
What Causes a 500 Internal Server Error
- A corrupted or misconfigured .htaccess file
- A PHP script hitting an error or running past its time limit
- Your website exceeding its PHP memory limit
- Incorrect file or folder permissions
- A faulty plugin, theme, or recent code change (common on WordPress and other CMS sites)
- Temporary server resource limits being reached
Start by Checking Your Error Log
Before changing anything, check your website's error log. It usually names the exact file, and sometimes the exact line, that caused the failure, which saves you from guessing at a fix. See how to view your website's error logs for the steps in both control panels.
If the error log points to a specific plugin, theme, or script, disable or roll back that one item first before trying anything else below.
Step-by-Step Fixes
In cPanel
- Open File Manager and go to your site's root folder (usually public_html).
- Click Settings in the top right and enable Show Hidden Files, then find the .htaccess file.
- Right-click it and choose Rename, changing it to .htaccess_old. Reload your website. If it loads now, the original file was the problem, and you can rebuild it or restore a clean copy.
- If that didn't help, right-click your site's main folders and check Permissions: folders should generally be set to 755 and files to 644.
- Open MultiPHP INI Editor and raise the memory_limit value (for example, from 128M to 256M), then save and reload your site.
In DirectAdmin
- Open File Manager and go to your site's public_html (or domains/yourdomain.com/public_html) folder.
- Locate the .htaccess file, select it, and use Rename to change it to .htaccess_old. Reload your website to see if the error clears.
- If not, check folder and file permissions from the File Manager's Permissions column: folders should be 755 and files 644.
- Open Select PHP Version (or your account's PHP options), switch to the settings view, and raise the memory_limit value, then save and reload your site.
Still Seeing the Error
If the steps above don't resolve it, the cause is likely inside your application code itself rather than the server configuration, especially if you're running WordPress. In that case, work through the error log's file reference directly, or temporarily disable plugins one at a time to isolate the one causing the crash.
If you're on WordPress and seeing this specifically after a plugin or theme update, see how to fix "There Has Been a Critical Error on This Website" for WordPress-specific steps.