Ein Status Code der mit 5 beginnt bedeutet eine Server Fehler. Allerdings ist 500 ein Sammel-Statuscode für alle möglichen Serverfehler. Alles was man daraus erkennen kann ist nur, dass der Server einen Fehler meldet.
Die einfachste Möglichkeit, den Fehler genauer einzugrenzen wäre ein Blick in die Logdateien des Webservers.
Kannst du diese denn einsehen, oder ist der Webserver gar nicht unter deiner Kontrolle?
Oft ist Ursache für den 500 ein Berechtigungsfehler der hochgeladenen Dateien, oder eine Fehlkonfiguration von PHP (Timeout oder Memory Limit).
Aber als Schuss ins Blaue tippe ich mal auf eine fehlerhafte .htaccess (das würd ich als erstes prüfen)