Joomla 500 Internal Server Error (.htaccess): How to Fix
Symptoms: Browser shows '500 Internal Server Error' · Site breaks after enabling SEF URLs or editing .htaccess · Happens on Apache servers
Mostly verified. Apache-only; not applicable to IIS/non-Apache. Researched 2026-06-01 (joomace.net FAQ, official docs and forum).
✅ Verified on a live Joomla 5.4.6 install: it ships
htaccess.txtcontainingRewriteEngine On, a commented# RewriteBase /, and a note thatOptions +FollowSymLinks“may cause problems with some server configurations” — exactly the directives discussed below. We reproduced the 500: a single invalid directive in.htaccesstook the whole site to HTTP 500, and removing the file restored it immediately — which is exactly why the rename test below works.
A 500 Internal Server Error on a Joomla (Apache) site is most commonly caused by
the .htaccess file or mod_rewrite configuration. A single misplaced
directive can take the whole site down.
Step 1 — Test whether .htaccess is the culprit
Over FTP or your control panel, rename .htaccess to htaccess.txt (or delete
it temporarily). Reload the site:
- Site works now? The
.htaccessfile was the problem — continue below. - Still 500? The cause is elsewhere (check the PHP error log, file permissions, or a faulty extension).
Joomla ships a clean template called htaccess.txt — you can restore from it.
Step 2 — Common .htaccess fixes
Site installed in a subdirectory
mod_rewrite rules won’t match. Open .htaccess, uncomment and set RewriteBase:
RewriteBase /yourfolder
Note: a wrong
RewriteBasemore often causes redirect loops or 404s than a true 500 — but it’s worth checking.
Options +FollowSymLinks not allowed
Some hosts reject this directive. If it triggers the 500, comment it out:
# Options +FollowSymLinks
mod_rewrite not enabled
SEF URLs need Apache’s mod_rewrite. If your host doesn’t enable it, the rewrite
rules fail. Confirm with your host.
Related searches
joomla 500 internal server error htaccess · joomla 500 internal server error ·
joomla htaccess 500 · joomla sef urls 500 error