1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Resolver un error 500 "Error interno del servidor"
Esta guía le concierne si obtiene un error 500 que puede tener diversas causas relacionadas generalmente con el desarrollo de su sitio en un Hosting Web, en particular con los rewrites de sus archivos .htaccess.
Prólogo
- Apache2, en uso en los servidores, ya no soporta ciertos módulos como
mod_auth_anon,mod_auth_dbm,mod_authz_dbm,mod_cern_meta,mod_imap,mod_imagemap,mod_mime_magic - Apache2 es estricto con los errores de sintaxis y cuando encuentra errores de sintaxis en un archivo
.htaccess, esto puede causar errores 500 Internal Server Error o errores de reescritura de URL inesperados
Ejemplos de sintaxis y corrección
En este primer ejemplo, el error de sintaxis es que la regla de reescritura no especifica el código de respuesta de redirección HTTP a devolver.
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L]La corrección añade la directiva R=301 para especificar que la redirección debe devolver un código 301 (permanente):
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L,R=301]
En este segundo ejemplo, el error de sintaxis es que la directiva Options no especifica correctamente las opciones a activar o desactivar.
Options -Indexes FollowSymLinksLa corrección añade el signo "+" para especificar que FollowSymLinks debe ser activado en lugar de desactivado:
Options -Indexes +FollowSymLinksResolver estos errores
- Si la primera página o cualquier otra página muestra un error 500, renombrar el archivo
.htaccesso comentar todas las líneas con#y descomentar línea por línea hasta encontrar el paso que causa el problema. - Si el error ocurre después de una modificación realizada en una de sus páginas, lo más sencillo es restaurar la versión anterior del archivo.