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 generalmente relacionadas con el desarrollo de su sitio en un Hosting Web, en particular con los rewrites de sus archivos .htaccess.
Preámbulo
- Apache2, en lugar 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 agrega 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 agrega el signo "+" para especificar que FollowSymLinks debe estar 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 pasaje 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.