500 Internal Server Error betekent dat de server een onverwachte situatie tegenkwam waardoor hij het verzoek niet kon uitvoeren. Het is de verzamelcode voor fouten aan de serverkant als er geen specifiekere 5xx-code van toepassing is.
De oorzaak is van buitenaf bijna nooit te zien, omdat servers geen interne details horen prijs te geven. De echte reden staat in de error log van de server, de applicatielog of een dienst voor foutregistratie: een niet-afgevangen exception, een fatale PHP-fout, een mislukte databaseverbinding, een syntaxfout in .htaccess of een configuratiedirective die de server niet begrijpt.
De client kan een 500 niet oplossen. Later opnieuw proberen kan helpen als het probleem tijdelijk was.
Voorbeeldresponse
HTTP/1.1 500 Internal Server Error
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1
Content-Length: 273
Connection: close
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
</body></html> SEO en redirects controleren
Google behandelt 5xx-fouten eerst als tijdelijk: Googlebot gaat langzamer crawlen, en pagina’s die al geïndexeerd zijn, blijven een tijdje in de index. Houden de fouten aan, dan verdwijnen de URL’s uit de index. Geeft robots.txt zelf een 5xx-fout, dan behandelt Google de hele site tijdelijk alsof crawlen niet is toegestaan en pauzeert het crawlen; duurt de fout langer dan 30 dagen, dan valt Google terug op de laatst gecachete kopie van robots.txt.
Een 500 in een redirectketen komt vaak door een kapotte rewriteregel. Apache geeft bijvoorbeeld 500 terug als rewriteregels meer dan 10 interne redirects veroorzaken (“Request exceeded the limit of 10 internal redirects”). Zo’n interne loop verschijnt nooit als 3xx-hops; de Redirectloop-checker vindt loops tussen URL’s, terwijl interne loops zich als een 500 laten zien.
Veelvoorkomende oorzaken en toepassingen
- Een niet-afgevangen exception of fatale fout in de applicatie (PHP, Node.js, Python enzovoort).
- Ongeldige directives of syntaxis in
.htaccessof de serverconfiguratie. - Verkeerde bestandsrechten of een verkeerde eigenaar bij scripts.
- Uitgeputte resources, zoals de
memory_limitvan PHP, of een mislukte databaseverbinding. - Een rewriteregel die intern in een loop terechtkomt.